2017-03-15 7 views
0

TabLayoutのタブ間を移動することができますが、タブを2回選択した場合にのみインジケータがハイライトされます。TabLayout選択されたインジケータ - タブを2回選択する必要があります

たとえば、[ホーム]タブから[クイズ]タブを選択します。クイズのレイアウトは表示されますが、タブアイコンの下にある選択されたインジケータは家に残っています。クイズをもう一度選択すると、インジケータが表示されます。

私がやっていることはかなり標準的だと思っていたので、私が間違っていることはわかりませんが、ここではタブ選択を扱うコードがあります。

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); 
    tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 

     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 

      switch (tab.getPosition()){ 

       case 1: 
        Intent infoIntent = new Intent(MainActivity.this, about.class); 
        MainActivity.this.startActivity(infoIntent); 
        break; 

       case 2: 

        Intent studentIntent = new Intent(MainActivity.this, student.class); 
        MainActivity.this.startActivity(studentIntent); 
        break; 

       case 3: 

        Intent surveyIntent = new Intent(MainActivity.this, survey.class); 
        MainActivity.this.startActivity(surveyIntent); 
        break; 

       case 4: 

        Intent quizIntent = new Intent(MainActivity.this, quiz.class); 
        MainActivity.this.startActivity(quizIntent); 
        break; 
      } 
     } 

     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 

     } 

     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 

     } 
    }); 

私に何かが不足していますか?

+0

ここで、ユーザーがタブを2回選択したときのロジックは?彼がしないとき? – HaroldSer

+0

クイズと主観のレイアウトを記述/表示できますか? – Alex

+0

@ScottS私は2番目のタブ選択を処理しません、私はそれを行う必要がありますか?最初の選択から問題が発生します。 –

答えて

0

それは最善の方法ではないかもしれませんが、私は単に私の活動のそれぞれに

tabLayout.getTabAt(index).select(); 

を置くことによって、これを解決するのonCreate。提案ありがとう

関連する問題