鉴于一周在网络上查找,并没有一篇文章写了具体的activity与viewpager中的fragement交互问题,琢磨了三天终于完美解决,希望有碰到类似问题的同行不再花更多的时间在这个问题上,我就此写下我的第一篇博客。下面将贴上关键部分的代码,如有更好的方式,欢迎交流讨论
1.在activity中
private String s1 = "成功了!!!";
public String getS1() {
return s1;
}
public void setS1(String s1) {
this.s1 = s1;
}
private Handler mHandler;//用于通知更新Fragement中的ui
public void setHandler(Handler mHandler) {
this.mHandler = mHandler;
}
set和get方法是为了能在fragement中能够获取到数据,在activity中能够更改数据、
2.在activity中
setS1("可以使用");
Message msg = new Message();
msg.what = 1;
mHandler.sendMessage(msg);
使用handler发送通知消息
3.在fragement中onCreateView写
((CommonTabActivity)getActivity()).setHandler(mHandler);
4.在fragement中
public Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 1:
String st = ((CommonTabActivity)getActivity()).getS1();
Log.e("!!!YES!!!", st);
card_title_tv.setText(st);
break;
}
};
};
我参考了下面这个工程,进行了我自己的改造,运用在了不一样的场景
http://download.csdn.net/download/huangyabin001/7559807