activity与viewpager中的fragement交互问题

鉴于一周在网络上查找,并没有一篇文章写了具体的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值