如何将activity获得的返回值传递给ViewPager中的fragment?
我需要监听返回事件,刷新viewPager中的fragment
ViewPager代码:
public class SectionPagerAdapter extends FragmentPagerAdapter {
public SectionPagerAdapter(FragmentManager fm) {
super(fm);
}
//指定fragment
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new MyFriendsFragment();
case 1:
return new MyGroupFragment();
default:
return null;
}
}
//定义列数
@Override
public int getCount() {
return 2;
}
//定义列标签
@Override
public CharSequence getPageTitle(int position) {
switch (position){
case 0:
return "好友";
case 1:
return "群组";
}
return null;
}
}
需要在activity的onActivityResult方法中传递给fragment,,没法用tag,怎么办还有别的方法吗
巴扎黑2017-04-17 17:34:11
Activity與Fragment是父子關係,直接傳值是沒問題的,只是你這裡直接使用了new出來的Fragment,沒有將它的引用保存,所以自然不方便傳值。你在new的時候會保存一份引用到FragmentPagerAdapter或直接儲存到Activity,那樣你不就能直接調Fragment裡的方法裡嗎?
另外,如果是從一個Fragment調起的Activity並回到這個Fragment中,可以直接使用Fragment中的startActivityForResult和onActivityResult方法,Fragment裡已經將結果封裝好了,回應會直接傳到這個Fragment。