Fragment与Activity交互(使用Handler)

谁说胖子不能爱 提交于 2020-02-09 18:09:39

1.在Activity中定义一个方法用来设置Handler对象

public void setHandler(Handler handler) {
mHandler = handler;
}

2.在Fragment中的回调函数onAttach()中得到Fragment所在的Activity,并调用setHandler方法,设置Handler。该Handler在Fragment中定义,用来接收来自Activity的消息

@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mActivity = (MainActivity) activity;
mActivity.setHandler(mHandler);
}

 

public Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
text.setText((String) msg.obj);
break;
}
};

};

3.在Activity发送消息给Fragment的Handler

Message msg = new Message();

mHandler.sendMessage(msg);

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!