2015-03-15 7 views
0

У меня есть активность, которая содержит 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() вызывается с правильной позицией

Любая идея, как исправить это?

Благодаря

+0

Возможный дубликат [Как остановить навигацию в ActionBar Tab для отображения в качестве счетчика, когда он становится слишком долго?] (http://stackoverflow.com/questions/13828659/how-to-stop-actionbar-tab-navigation-to-display-as-a-spinner-when-it-gets-too-lo) – bummi

ответ

0

теперь я буду использовать следующий обходной путь, но я по-прежнему заинтересован в поиске реального решения. Обходной способ заключается в том, чтобы принудительно отображать вкладки даже в ландшафте, установив режим навигации после добавления вкладок, как показано here

Смежные вопросы