我的方法是这样的
声明一个接口,让Activity实现它,然后在Fragment中判断Activity是否实现它,调用Activity方法
具体:
接口声明:
public interface ChatBackListener {
void logout();
}
在Activity实现它
然后在Fragment中在要调用Activity的方法这么写:
if(getActivity() instanceof ChatBackListener){
((ChatBackListener)getActivity()).logout();
}
每个碎片都可以通过调用getActivity()方法来得到和当前相关联的活动实例,代码如下所示:
MainActivity activity=(MainActivity)getActivity();有了活动实例后,在碎片中调用活动里的方法就轻而易举了
在Fragment获取Activity的上下文用Context context = this.getActivity();
如果想调用Activity中的方法用cocntext.startActivity();就好了
第七十五回 关云长刮骨疗毒 吕子明白衣渡江第七十六回 徐公明大战沔水 关云长败走麦城