У меня есть активность, которая содержит viewpager, чтобы пронести по 4 фрагментам. Я также использую ActionBar.NAVIGATION_MODE_TABS для отображения названия вкладок и позволяет навигации, нажав на вкладке, а также проводяNAVIGATION_MODE_TABS и ViewPager не работают должным образом в альбомной ориентации
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);
}
});
Это работает отлично, но когда устройство находится в альбомной ориентации, то вкладки отображается в виде счетчика действий, тогда содержимое spinner больше не обновляется при прокрутке в viewpager, даже если onPageSelected() вызывается с правильной позицией
Любая идея, как исправить это?
Благодаря
Возможный дубликат [Как остановить навигацию в ActionBar Tab для отображения в качестве счетчика, когда он становится слишком долго?] (http://stackoverflow.com/questions/13828659/how-to-stop-actionbar-tab-navigation-to-display-as-a-spinner-when-it-gets-too-lo) – bummi