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