无法更新 Viewpager 中的片段

Can't update Fragments in Viewpager

我有一个 NavigationView,其中有 "Home","Profile","Service" 等选项卡。当我单击其中一个时,我想更改 TabLayout 和 ViewPager 的输入(可见片段)。我在 onNavigationItemSelected 侦听器中更改了 TabLayout ,方法 tabLayout.setupWithViewPager(tabViewPager); 对我的 TabTitles 很好用。

我的 Viewpager 的更改我尝试这样做:tabViewPager.setAdapter(viewPagerAdapter1); 例如在另一个导航中单击 tabViewPager.setAdapter(viewPagerAdapter2);

我的 ViewPager class 看起来像这样:

public class TabViewPagerAdapter  extends FragmentPagerAdapter {
    private List<Fragment> mFragmentList = new ArrayList<>();
    private List<String> mFragmentTitleList = new ArrayList<>();
    Resources resources;

    public TabViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFrag(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }}

所以我初始化了。我的适配器一开始是这样的:

viewPagerAdapter1 = new TabViewPagerAdapter(getSupportFragmentManager());
    viewPagerAdapter1.addFrag(new Home1Fragment(),"abc");
    viewPagerAdapter1.addFrag(new Home2Fragment(),"def");

但没有任何变化!Viewpager 仍然相同,只是我的标签标题发生了变化。我该如何解决这个问题?

https://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#notifyDataSetChanged()

public void addFrag(Fragment fragment, String title) {
    mFragmentList.add(fragment);
    mFragmentTitleList.add(title);
    notifyDataSetChanged();
}

我没有找到好的解决方案,所以我决定为所有导航制作片段。在这些片段中,我制作了单独的 Viewpager。现在我有不止一个 Viewpager。

我认为这不是最好的解决方案,但它有效 ^^