찾다

 >  Q&A  >  본문

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일 전511

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

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

    Activity와 Fragment는 부모-자식 관계이므로 직접 값을 전달하는 데에는 문제가 없습니다. 하지만 여기서는 참조를 저장하지 않고 새 Fragment를 직접 사용하므로 값을 전달하는 것이 당연히 불편합니다. FragmentPagerAdapter에 대한 참조를 저장하거나 새로 생성할 때 Activity에 직접 참조를 저장할 때 Fragment에서 해당 메서드를 직접 호출할 수 있지 않을까요?
    또한 Activity가 Fragment에서 호출되어 이 Fragment로 반환되는 경우 Fragment에서 startActivityForResult 및 onActivityResult 메서드를 직접 사용할 수 있으며 결과는 Fragment에 캡슐화되어 응답이 직접 전달됩니다. 이 조각.

    회신하다
    0
  • 怪我咯

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

    메시지 버스 EventBus를 사용해 볼 수 있습니다

    회신하다
    0
  • 취소회신하다