- 第一步、在Activity定义一个接收handler的方法,getHandler()
public void getHandler(Handler handler) {
mHandler = handler;
}
- 第二步、在Fragment函数onAttach()中得到Fragment所依附Activity,并调用getHandler()方法,把Handler传给activity。该Handler在Fragment中创建,用来接收消息与Fragment进行交互。
@Override
public void onAttach(Context context) {
super.onAttach(context);
Activity activity = getActivity();
mActivity = (MainActivity) activity;
mActivity.getHandler(mHandler);}
public Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 1:
text.setText((String) msg.obj);
break;
}
}
};
- 第三步、在Activity给Fragment发消息
public void click(View v){
Message msg = new Message()
msg.obj = edit.getText().toString()
msg.what = 1
mHandler.sendMessage(msg)
}