<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);