【发布时间】:2015-03-15 14:40:47
【问题描述】:
我有一个活动,其中包含一个浏览器,可以在 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() 以正确的位置调用
知道如何解决这个问题吗?
谢谢
【问题讨论】:
标签: android-actionbar android-viewpager swipe