搜尋

首頁  >  問答  >  主體

android - 如何将activity获得的返回值传递给ViewPager中的fragment?

如何将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,怎么办还有别的方法吗
黄舟黄舟2772 天前512

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-17 17:34:11

    Activity與Fragment是父子關係,直接傳值是沒問題的,只是你這裡直接使用了new出來的Fragment,沒有將它的引用保存,所以自然不方便傳值。你在new的時候會保存一份引用到FragmentPagerAdapter或直接儲存到Activity,那樣你不就能直接調Fragment裡的方法裡嗎?
    另外,如果是從一個Fragment調起的Activity並回到這個Fragment中,可以直接使用Fragment中的startActivityForResult和onActivityResult方法,Fragment裡已經將結果封裝好了,回應會直接傳到這個Fragment。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 17:34:11

    訊息匯流排EventBus可以試試

    回覆
    0
  • 取消回覆