Viewpager+fragment结构,如何获取fragment中的控件

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">背景:</span>

MainActivity中有一个ViewPager,ViewPager中有四个fragment,在fragmentA中点击某个按钮后一开一个activityA,activityA将一些数据返回给fragmentA,然后fragmentA修改控件的属性。

问题:

在实际操作中,我在fragmentA中使用getActivity().startActivityForResult(intent, 10);打开activityA,然后打算使用类似activity间数据的传递------在fragmentA中用onActivityResult(int requestCode, int resultCode, Intent data)接收数据,但是无论如何都是空指针。

解决:

在fragmentA中不能通过onActivityResult接收数据,但是MainActivity可以通过onActivityResult(int requestCode, int resultCode, Intent data)接收activityA返回的数据,然后通过:

            HomePagerFragment fragment=(HomePagerFragment)getSupportFragmentManager().findFragmentByTag(
                    "android:switcher:" + pager.getId() + ":" + fragmentAdapter.getItemId(0));
获取到相应的fragment。(Ps:<span style="font-family: Arial, Helvetica, sans-serif;">fragmentAdapter.getItemId(0)中的0表示该fragment在ViewPager中的位置</span>)。
然后通过该fragment找到内部控件:
            TextView tv = (TextView) fragment.getView().findViewById(R.id.Search_city_txt);
            tv.setText(cityName);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值