J'ai utilisé TabLayout et ViewPager dans mon application. Je veux changer le titre ActionBar chaque fois que je balaye la page. J'ai été capable de le faire jusqu'à un certain point. Le problème auquel je suis confronté est que sur le lancement de l'application, le titre qui est affiché sur la barre d'action est le titre de mon application. Quand je balaie et recule, le titre devient ce que j'ai assigné (le bon). Donc, supposons que le titre de mon application est «ABC». Au démarrage de l'application, le titre de la barre d'actions par défaut est indiqué par «ABC». Quand je balaye et retourne à tab1, le titre correct est montré. J'ai pensé que c'est probablement parce qu'au démarrage de l'application, aucun onglet n'est réellement 'sélectionné'. Par conséquent, le code ne fonctionne pas."sélection" par défaut d'un onglet particulier sur le lancement de l'application dans TabLayout
J'ai également utilisé la méthode setCurrentItem qui ne sert à rien dans ce cas car elle définit la page par défaut mais ne permet pas réellement de 'sélectionner' un onglet particulier.
est ici l'extrait de code i utilisé
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
public void onPageScrollStateChanged(int state) {}
public void onPageScrolled(int position, float positionOffset, int
positionOffsetPixels) {}
public void onPageSelected(int position) {
final String[] tabTitles={"Favorites", "Friends", "Nearby"};
tabLayout.setNextFocusRightId(position);
setTitle(tabTitles[position]);
}
});