J'ai lu beaucoup de commentaires sur la façon dont il est plus léger d'utiliser les vues au lieu des intentions dans setContent
lorsque vous utilisez des onglets.Modifier le contenu de l'onglet sur le bouton cliquez sur
Depuis que je vais créer une application avec des onglets, j'essaye d'implémenter ceci au lieu d'avoir des intentions à l'intérieur setContent
. Cependant, j'ai du mal à trouver des exemples ou des didacticiels simples sur l'échange de la vue actuelle avec un autre.
Dites que j'ai TAB_A, avec quelques champs d'entrée et un bouton. Lorsque l'utilisateur clique sur le bouton, un
TextView
affiche "Bonjour, utilisateur!" dans le même TAB_A. Bien sûr, il s'agit d'un exemple simpliste, mais il va sûrement me diriger dans la bonne direction.
EDIT: J'ai un onglet appelé TAB_A avec un bouton dedans. Si l'utilisateur clique sur ce bouton, TAB_A affichera désormais "Bonjour, utilisateur!" au lieu du bouton.
Voici un exemple de mon TabSpec.
TabHost.TabSpec spec = tabHost.newTabSpec(getString(R.string.tabspec_tag_search))
.setIndicator(getString(R.string.tabspec_indic_search),
res.getDrawable(R.drawable.tab_ic_search))
.setContent(new TabContentFactory() {
@Override
public View createTabContent(String tag) {
switch (doWhat){
case ACTIVITY_SPLASH_PAGE:
return showButton;
case ACTIVITY_HELLO:
return showHello;
}
return null;
}
});
tabHost.addTab(spec);
Où ShowButton
et ShowHello
sont des classes deux LinearLayout
extension. Les deux sont initialisés dans onCreate comme ceci: ShowButton showButton = new ShowButton(this);
intérieur de la classe showButton, j'ai cet écouteur:
viewHolder.button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, Search247.class);
intent.putExtra(EXTRA_DO_WHAT, ACTIVITY_HELLO);
context.startActivity(intent);
}
});
Lorsque l'application démarre, l'utilisateur voit la showButton vue. Lorsque l'utilisateur clique sur le bouton, je veux que l'onglet change son contenu en showHello.
La question est alors: Y at-il un moyen de mettre à jour le contenu de la tabspec sans utiliser startActivity
?
Merci comme toujours!
Peut-être que c'est juste moi, mais la question ou le problème n'est pas clair. – DonSteep
Je n'ai aucune idée de ce que vous voulez. Des exemples de code pour créer un écran à onglets? Nos pensées sur le problème de l'intention? Cette chose de TextView m'a vraiment troublé. – Maragues