getChildFragmentManager () cannot be resolved or cannot be referenced

前端 未结 5 2096
夕颜
夕颜 2020-12-06 11:41

I know, there are many forum posts on this topic already, but none did solve my issue

My code looks like this:

private SectionsPager         


        
5条回答
  •  时光说笑
    2020-12-06 12:27

    This is probably not the most elegant solution, but in my case I needed the viewpager to be running in its own fragment, while having the toolbar and tablayout reside in the MainAcitivy. Only drawback is that you have to hide the TabLayout manually in other Fragments which not use the Tab/Viewpager.

    But this way you can still call getChildFragmentManager from the Fragment.

    @Nullable
    @Override
    public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_rides_host, container, false);
    
        viewPager = (ViewPager) v.findViewById(R.id.fm_feed_host_viewpager);
    
        setupViewPager(viewPager);
    
        ((MainActivity)getActivity()).mTabLayout.setupWithViewPager(viewPager);
    
        return v;
    }
    
    private void setupViewPager(ViewPager viewPager) {
    
        ViewPagerAdapter adapter = new ViewPagerAdapter(this.getChildFragmentManager());
    
        adapter.addFragment(new YourFragment(), "Title");
        adapter.addFragment(...);
        viewPager.setAdapter(adapter);
    }
    

提交回复
热议问题