1.直接调用
((MainActivity)getActivity()).doABC();
2.使用接口
Activity实现对应接口,Fragment创建的时候拿到Activity的对象,调用相关方法(其实这个和1差不多,只是用了接口来规范)
public class MainActivity extends BaseActivity implements Callback {
@Override
public void doABC() {
//do
}
}
public class MyFragment extends BaseFragment {
private Callback mCallback;
@Override
public void onAttach(Context context) {
super.onAttach(context);
mCallback = (Callback) getActivity();
mCallback.doABC();
}
}
3.使用广播
优点:非常灵活 缺点:相较于直接调用要多些几行,如果不使用本地广播的话有可能会信息泄露
4.EventBus
优点:灵活简单 缺点:引入了第三方库