【发布时间】:2017-05-24 13:36:53
【问题描述】:
在每个默认片段中都有一个接口,如下所示:
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");
}
}
通过接口的方法实现向activity发送数据很有用:
@Override
public void onFragmentInteraction(String string)
{
Toast.makeText(getApplicationContext(), string,Toast.LENGTH_LONG).show();
}
我也可以对片段中的 get 方法做同样的事情
public String get()
{
return "Interfaccia fragment";
}
被activity调用的方式是这样的:
BlankFragment blankFragment = BlankFragment.newInstance("","");
Toast.makeText(getApplicationContext(),blankFragment.get(),Toast.LENGTH_LONG).show();
那么,如果值很少(也只有一个值),我该怎么办?用第一种还是第二种方法?我认为第二个更快,但第一个更完整。
【问题讨论】:
标签: java android interface fragment