Comment faire pour changer d'onglet par programmation dans Android à partir de fragment?
J'ai mis en place un TabActivity
qui s'étend FragmentActivity
. Il dispose de 5 onglets, chaque onglet est un Fragment
. Ce que je cherche, c'est de basculer entre les onglets de la programmation.
Pour exemple: si je suis dans tab4. Sur le bouton cliquez sur je veux passer de tab4
à tab1
. Essayé beaucoup de choses mais ne pouvais pas trouver la solution pour cela.
Essayé avec ce qui suit, mais il ne l'aide pas.
De SecondTab
public void switchTabInActivity(String value){
FirstTab parent;
parent = (FirstTab) getActivity().getParent();
parent.switchTab(value);
}
TabActivity
/** To Change Tab*/
public void switchTab(String tabno){
this.onTabChanged(tabno);
}
OriginalL'auteur vinothp | 2013-05-01
Vous devez vous connecter pour publier un commentaire.
pour le soutien Matériel, vous basculez l'tablayout à partir d'un fragment de l'une des manières suivantes:
1) envoyer une diffusion qui est reçu par la société mère activité qui modifie alors l'onglet.
2.) Une modification de vino réponse,
tablayout est l'id de la tablayout tel que défini dans votre xml principal.
Salut @Kennedy, mon tabhost n'est pas initialisé. C'est en montrant la valeur null. Ce qui pourrait être l'erreur NullPointerException??
Il travaille maintenant, l'erreur était due à une stupide erreur de ma. 🙂
OriginalL'auteur Kennedy Nyaga
Enfin, je peux basculer entre les onglets par programmation à partir de Fragments à l'aide de la ligne de code suivante
Espère que ça aidera certains.
android.R.id.tabhost
va lancer une exception nullpointerexception. Vous êtes déjà demandégetActivity.findViewById
findViewById(R.id.tabhost)
est la bonne optionOriginalL'auteur vinothp
J'ai des onglets (à l'aide de TabLayout pas TabHost(après amortissement))(avec des Fragments) dans mon Activité Principale en ce qui à mon premier onglet(fragment) avec un écouteur de clics dans le fragment qui est pour la modification de l'onglet en cours dans mon MainActivity.
J'ai réussi à changer le cours de l'onglet via le ci-dessous dans la onCreateView() la méthode dans le fragment.
OriginalL'auteur BENN1TH
Prendre un coup d'oeil à cette réponse: https://stackoverflow.com/a/5460651/198996
C'est à partir du Fragment. Le
getParent()
est une méthode dans le Fragment qui renvoie à l'Activité.essayez
getActivity()
au lieu degetParent()
ensuite.oui essayé, mais je suis confronté à
The method getTabHost() is undefined for the type TabActivity
((TabActivity) getActivity()).getTabHost().setCurrentTab(3);
utilisation
switchTab()
et jeté comme une mise en œuvre concrète plutôt que de TabActivity ensuite. Notez que TabActivity est obsolète.OriginalL'auteur TomTasche