[Android] 多重使用Fragment 中的onFragmentInteraction

时间:2023-03-09 17:11:25
[Android] 多重使用Fragment 中的onFragmentInteraction

新建的一个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) { }