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

ViewPager方法setCurrentItem(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

Cool。これは機能します。このような簡単な解決策が実現したことを実感してください:)ありがとうございました。 – dacscan3669

関連する問題