新建的一个Fragment,被一个Activity使用,那么这个Activity需要继承一个接口:
public class MainActivity extends Activity
implements HistoryFragment.OnFragmentInteractionListener{
}
否则会被报错
java.lang.ClassCastException: com.livingspring.luchebao.MainActivity@4261c220 must implement OnFragmentInteractionListener
at com.livingspring.luchebao.HistoryFragment.onAttach(HistoryFragment.java:84)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:849)
在新建的Fragment里面有这样一个复写的方法
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mListener = (OnFragmentInteractionListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentInteractionListener");
}
}
明确要求 与之匹配的Activity需要继承一个方法来进行通信,继承以后还要复写一个方法:
@Override
public void onFragmentInteraction(Uri uri) { }