Android.support.design.widget.TabLayout sélectionnez l'onglet Programmatically

J'utilise android.support.design.widget.TabLayout. Il a deux onglets, Si l'utilisateur sélectionne le deuxième onglet Sur une condition particulière, je souhaite que l'utilisateur redirige vers le premier onglet et l'interdise d'aller à l'onglet Sencond jusqu'à ce que les conditions correspondent. Pour ce faire, j'ai essayé,

tabLayout.getTabAt(0).select(); 

Mais il ne filtre pas le premier onglet

  • Pourquoi onCréer () dans Activité protégée?
  • Obtenir des coordonnées en tapant la carte dans Android
  • Meteor recharge sans fin après le redéploiement sur le serveur avec appcache
  • Référence indirecte invalide sur l'appel NewObject
  • Champs de mot de passe RTL Android?
  • Compter Chars dans EditText Écoute modifiée
  • Android: comment ajouter R.raw au projet?
  • Comment forcer une mise en page entière Voir le rafraîchissement?
  • Le rendu SVG incohérent entre le bureau et le mobile: Arial est-il une police Web-Safe dans SVG?
  • Gardez la carte centrée indépendamment de l'endroit où vous appuyez sur le zoom sur Android
  • Comment définir la valeur minimale et maximale de la barre de recherche
  • Bibliothèque de bibliothèques de fichiers PDF Android ou didacticiels de bibliothèque muPDF
  • 4 Solutions collect form web for “Android.support.design.widget.TabLayout sélectionnez l'onglet Programmatically”

    C'est parce que cette vue n'est toujours pas correctement initialisée et vous essayez d'effectuer des actions.

    En tant que solution, il suffit de mettre un hadler avant de sélectionner l'onglet Perticular .

     new Handler().postDelayed( new Runnable(){ @Override public void run() { tabLayout.getTabAt(yourTabIndex).select(); } }, 100); 

    C'est ainsi que je l'ai résolu:

    TabLayout.getTabAt (CurrentItem) .getCustomView (). SetSelected (true);

    Vous pouvez sélectionner l'onglet dans Fragment.onViewCreated ().

    C'est ma configuration. Ça marche bien pour moi.

      //declare your tabs to be add on TabLayout tlDailyView; private TabLayout.Tab tabAppointment, tabSlots; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_daily_view, container, false); initializeMembers(); setupTabLayout(); return view; } private void setupTabLayout() { tlDailyView.addTab(tabAppointment, 0, true); tlDailyView.addTab(tabSlots, 1, true); tlDailyView.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { switch (tab.getPosition()) { case 0: //open fragment at position 0 here case 1: //open fragment at position 1 here break; } } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); } private void initializeMembers() { tabSlots = tlDailyView.newTab(); tabAppointment = tlDailyView.newTab(); tabAppointment.setText(R.string.tab_appts).select(); tabSlots.setText(R.string.tab_slots); } 

    N'oubliez pas d'initialiser votre onglet ci-dessus.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.