我有一个活动,其中包含一个查看页器,可以在 4 个片段上滑动。我还使用 ActionBar.NAVIGATION_MODE_TABS 来显示选项卡名称,并允许通过按选项卡和滑动进行导航
public void onCreate(Bundle savedInstanceState) {
...
this.viewPager = (ViewPager) findViewById(R.id.viewPager);
this.viewPagerAdapter = new MyViewPagerAdapter(this, getSupportFragmentManager());
this.viewPager.setAdapter(this.viewPagerAdapter);
this.viewPager.setCurrentItem(0);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Create a tab listener that is called when the user changes tabs.
final TabListener tabListener = new TabListener() {
@Override
public void onTabReselected(Tab arg0, FragmentTransaction arg1) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction arg1) {
viewPager.setCurrentItem(tab.getPosition());
}
}
@Override
public void onTabUnselected(Tab arg0, FragmentTransaction arg1) {
}
};
// add the tabs
this.viewPager.setOnPageChangeListener(
new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// When swiping between pages, select the corresponding tab.
actionBar.setSelectedNavigationItem(position);
}
});
这工作正常,但是当设备处于横向时,选项卡显示为动作微调器,然后在查看页中轻扫时微调器内容不再刷新,即使使用正确的位置调用了 onPageSelected()
知道如何解决这个问题吗?
谢谢
现在我将
,如下所示 使用以下解决方法,但我仍然有兴趣找到一个真正的解决方案。解决方法是在添加选项卡后设置导航模式,即使在横向模式下也强制显示选项卡