NavigationView 控制的 ViewPager

ViewPager controlled by NavigationView

我的应用程序中有一个导航抽屉,我想选择其中一个选项将在 ViewPager 中显示所需的片段。但是,如果没有 OnPageChangeListener,它就无法工作,我知道如何使用 TabLayout 进行设置,但无法找到如何使用导航抽屉本身进行设置。现在,从导航抽屉中选择一个选项不会更改 ViewPager 的预览。

我在网上搜索过,但没有找到解决方案,只有关于将 ViewPager 与 TabLayout and/or 与导航抽屉一起使用的问题和教程,但在这些情况下,OnPageChangeListener 得到 "new TabLayout.TabLayoutOnPageChangeListener(tabLayout)" 作为 OnPageChangeListener

public void setUpPageAdapter(){
pageAdapter = new PageAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(pageAdapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); --> what should replace the TabLayoutOnPageChangeListener?
}

添加到代码末尾:

tabLayout.addOnTabSelectedListener(new TabLayout.BaseOnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                viewPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        });

最终我解决了我的问题 - 我找不到一个简单的解决方案,所以只使用了一个高度为 0dp 的 TabLayout,所以它会存在但不会被用户看到,制作教程由 tablayout 控制并将其连接到导航抽屉的 ViewPager 在互联网上随处可见,因此只需隐藏 TabLayout 就可以了(: