J'essaie de stocker l'index de l'onglet Actuellement sélectionné dans OnSaveInstanCetate afin que je puisse la restaurer. Cependant, le getcurrenttab me donne apparemment apparemment la chaîne que j'ai utilisée dans l'Ettabhost (). Newtabspec, que je trouve un peu bizarre depuis la documentation indique qu'il renvoie un Int et SetCurrentTtab prenant également un int. Est-ce que quelqu'un sait comment je peux obtenir l'index de mon onglet actuellement sélectionné afin que je puisse le restaurer? P>
3 Réponses :
Vous êtes sur la bonne manière, utilisez setontabChangeDlistener code> pour obtenir votre onglet sélectionné.
public class MainActivity extends TabActivity {
static TabHost mytabs;
mytabs = getTabHost();
mytabs.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String arg0) {
Log.i("***Selected Tab", "Im currently in tab with index::" + mytabs.getCurrentTab());
}
});
...
...
...
Je n'ai actuellement pas accès à mon ordinateur portable avec le code, donc je devrai essayer cela demain, mais pourquoi cela ferait-il une différence si j'avais utilisé GetCurrenttab dans l'événement Ontabchanged ou dans mon ONSAVERInstancestate? Et merci pour votre réponse actuelle.
Vous pouvez utiliser GetCurrentTab () qui renvoie l'index de l'onglet Démarrer à partir de 0. P>
Cette méthode appartient à quel objet? Quelque chose.getCurrentTab () code> Et quel est quelque chose?
Utiliser tabhost.getCurrentTab () pour obtenir l'onglet ...
tabHost= getTabHost(); tabHost.addTab(tab0); // TabSpec tab0=tabHost.newTabSpec(... tabHost.addTab(tab1); // TabSpec tab1=tabHost.newTabSpec int current = tabHost.getTabHost() ;
Êtes-vous sûr que vous invoquez le tabhost.getCurrenttab ()? Il retourne int. Vous avez probablement mal placé cela avec GetCurrentTABTAG ()?
Je suis certain, c'est pourquoi je le trouve si bizarre.
Quelle version Android utilisez-vous?
Je sélectionne 2.2 Google dans la liste, mais je ne pense pas que j'utilise des fonctionnalités spécifiques.