新建的一個Fragment,被一個Activity使用,那么這個Activity需要繼承一個接口:
public class MainActivity extends Activity implements TigerFragment.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里面有這樣一個復(fù)寫的方法
@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需要繼承一個方法來進(jìn)行通信,繼承以后還要復(fù)寫一個方法:
@Override public void onFragmentInteraction(Uri uri) { // 這里的Uri可以自己改的 }