2017-03-15 70 views
0

我可以在我的TabLayout中的選項卡之間導航,但只有當我選擇選項卡兩次時,指示符高亮纔會跟隨該選擇。TabLayout選定的指標 - 必須選擇選項卡兩次

例如,在主頁選項卡中,我將選擇測驗選項卡。測驗的佈局顯示,但選項卡圖標下的選定指示符仍保留在主頁上。如果我第二次選擇測驗,那麼指標會隨之而來。

我不知道我在做什麼錯誤,因爲我認爲我一直在做的事很標準,但這裏是我的代碼處理選項卡選擇。

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

您的邏輯用於何時用戶選擇選項卡兩次?當他不? – HaroldSer

+0

你能描述/顯示測驗和主要活動的佈局嗎? – Alex

+0

@ScottS我不處理第二個選項卡選擇,我應該這樣做嗎?從第一次選擇開始就會出現問題。 –

回答

0

它可能不是最好的方式,但我解決了這個簡單地把

tabLayout.getTabAt(index).select(); 

在我的每一個活動的onCreate的。感謝您的建議

相關問題