2016-01-08 1 views
0

в моем андроид приложение, я установить вкладку макета, как это:андроид отключить 2 из 3 вкладок

final TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout); 
tabLayout.addTab(tabLayout.newTab().setText("TAB 1")); 
tabLayout.addTab(tabLayout.newTab().setText("TAB 2")); 
tabLayout.addTab(tabLayout.newTab().setText("TAB 3")); 

я хотел бы отключить вкладку 2 и 3. Вкладка я попробовать это, и она работает:

tabLayout.getChildAt(1).setEnabled(false); 
tabLayout.getChildAt(2).setEnabled(false); 

, но я также хотел бы установить обратную связь тост, если кто-то нажмите на вкладке отключить, как «Эта вкладка не разблокирован»

для этого я пытаюсь установить onclicklistener на вкладке 2 и 3. , но этот прослушиватель не работает, если я отключил вкладку с кодом раньше.

есть кто-нибудь идея, как я могу решить эту проблему?

UPDATE

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

       if (tab.getPosition() == 1) { 
        viewPager.setCurrentItem(0); 
        TabLayout.Tab tab1 = tabLayout.getTabAt(0); 
        tab1.select(); 
       } else { 
        viewPager.setCurrentItem(tab.getPosition()); 
       } 
      } 
+0

Вы не можете получить событие щелчка, когда View отключен. Вместо этого попробуйте использовать TouchListener. [Здесь] (http://stackoverflow.com/a/17836095/4224337) вы можете найти пример, как обнаружить событие click в TouchListener. – Rami

+0

http://stackoverflow.com/questions/4497187/how-to-disable-a-tab-in-android-screen –

+0

Я пробую теперь по-другому. посмотрите часть обновления моего первого сообщения. я отлично работаю. но проблема в том, что я должен установить индикатор вкладки обратно на вкладку 1. Есть ли способ? – SpecialFighter

ответ

0

Я не знаю, что можно с помощью отключения и включения вида вкладки, но у меня есть еще один способ.

Хотя пользователь нажмет на закладке установлен флаг как

if(enable != true) 
// display toast 
else 
// enable event 
Смежные вопросы