Android TabLayout wählen Sie die erste Registerkarte auf Systemstart
Ich bin mit TabLayout von Android-Design-Bibliothek. Ich habe mehrere Registerkarten, und jede Registerkarte hat eine Aktion, wenn es ausgewählt ist. Also ich habe ein Attribut startSelection, die führt
tabLayout.getTabAt(startSelection).select();
Dieser wählt den Reiter und führt die Aktion für das tab. Es funktioniert gut für jede Registerkarte, außer der ersten, die automatisch ausgewählt wird, auf Start ohne (!) die Aktion durchführt. Hat jemand eine Lösung dafür?
Möchte ich nicht verwenden, die onTabReselected Methode, da dies bewirkt, dass ein anderes Verhalten der TabLayout. Auch die Auswahl der zweiten Registerkarte und wählen Sie die erste Registerkarte, danach ist keine gute Lösung.
Beste Grüße
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es. Die Lösung ist einfach, verwenden Sie (einmal) onTabReselected und überschreiben Zuhörer da.
setOnTabSelectedListener
ist veraltet. MitaddOnTabSelectedListener
statt.Ich hatte ein ähnliches problem mit einer benutzerdefinierten Registerkarte layout ich lag in der Implementierung, beim starten der Aktivität der ersten Registerkarte würden nicht angezeigt, der ausgewählte Zustand, sondern tab 2,3,4... wäre, wenn automatisch ausgewählt auf Start.
Die Lösung, die mir geholfen haben war in
onResume()
, schnell wählen Sie die zweite Registerkarte, dann zurück zu der ersten Registerkarte.Wenn Sie versuchen, wählen Sie die erste Registerkarte grammatikalisch, dass die Zeit Ihre Sicht-Initialisierung nicht abgeschlossen. Verwenden, handhaben und warten, bis
100ms
dann versuchen Sie, wählen Sie die Registerkarte.Versuchen, diese in Ihrem
onCreate()
habe ich mehr einfache Lösung für das