每个默认 fragment 都有一个界面,如下所示:
public interface OnFragmentInteractionListener
{
void onFragmentInteraction(String string);
}
这样调用:
@Override
public void onAttach(Context context)
{
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener)
{
mListener = (OnFragmentInteractionListener) context;
mListener.onFragmentInteraction("Interfaccia fragment");
} else
{
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}
通过接口(interface)方法的实现向 Activity 发送数据很有用:
@Override
public void onFragmentInteraction(String string)
{
Toast.makeText(getApplicationContext(), string,Toast.LENGTH_LONG).show();
}
我也可以在 fragment 中使用 get 方法执行相同的操作
public String get()
{
return "Interfaccia fragment";
}
Activity 以这种方式调用它:
BlankFragment blankFragment = BlankFragment.newInstance("","");
Toast.makeText(getApplicationContext(),blankFragment.get(),Toast.LENGTH_LONG).show();
那么,如果值很少(也只有一个值),我该怎么办?用第一种方法还是第二种方法?我认为第二个更快,但第一个更完整。
最佳答案
您不想在 Activity 中维护对 fragment 的引用,因为它们可能会被销毁并重新创建。因此,请使用接口(interface),而不是 get 方法。
关于java - Android:接口(interface)与 get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44160024/