新建的一个Fragment,被一个Activity使用,那么这个Activity须要继承一个接口:java
public class MainActivity extends Activity implements HistoryFragment.OnFragmentInteractionListener{ }
不然会被报错android
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)spring
在新建的Fragment里面有这样一个复写的方法app
@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须要继承一个方法来进行通讯,继承之后还要复写一个方法:ide
@Override public void onFragmentInteraction(Uri uri) { }