2017-01-19 5 views
0

У меня есть активность с 3 фрагментами на viewPager f1, f2, f3, отображаемая на 3 разных вкладках. То, что я хотел бы достичь, ниже,Фрагмент Android меняет видимость на следующую вкладку

f3 visible -> user clicks on a button -> f2 has to be made visible 
f2 visible -> user clicks on a button -> f1 has to be made visible 

Как я могу это достичь?

ответ

2

Способ ViewPagersetCurrentItem(int) может это сделать.

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.SampleButton: { 
      if (mViewPager.getCurrentItem() == 2) { // At f3 
       mViewPager.setCurrentItem(1); // go to f2 
      } else if (mViewPager.getCurrentItem() == 1) { // At f2 
       mViewPager.setCurrentItem(0); // go to f1 
      } 
     } 
     break; 
    } 
} 

Если вы хотите действительно проверить фрагмент действительно visible пользователю, вам необходимо переопределить setUserVisibleHint каждого фрагмента. Для этого прочитайте эту ссылку; https://stackoverflow.com/a/9779971

+0

Прохладный. это работает. Dint реализовать такое легкое решение было возможно :) спасибо. – dacscan3669

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