我在我的应用中有一个导航抽屉,我想选择其中一个选项将显示ViewPager中想要的片段。但是,如果没有OnpageChangeListener,我知道如何使用Tablayout进行设置,但找不到如何使用导航抽屉本身来进行操作。目前,从导航抽屉中选择一个选项不会更改ViewPager的预览。
我已经在网络上搜索了它,但是找不到解决方案,只有有关将ViewPager与TableAut和/或导航抽屉一起使用的问题和教程,但是在这些情况下,OnPageChangeListener获得了new Tablayout.tablayoutonpagechangelisteristener(TablayOutOnpageChangelistener(("作为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,所以它将存在,但不会看到用户,可以通过Internet上找到由Tablayout控制并将其连接到导航抽屉的ViewPager的教程,因此只需隐藏tablayout工作即可(: