2017-03-15 69 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的。感谢您的建议

相关问题