NAVIGATION_MODE_TABS和视图页在横向方向上无法正常工作



我有一个活动,其中包含一个查看页器,可以在 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()

知道如何解决这个问题吗?

谢谢

现在我将

使用以下解决方法,但我仍然有兴趣找到一个真正的解决方案。解决方法是在添加选项卡后设置导航模式,即使在横向模式下也强制显示选项卡

,如下所示

最新更新