J'essaie de stocker l'index de l'onglet actuellement sélectionné dans onSaveInstanceState pour que je puisse le restaurer. Cependant le getCurrentTab me rappelle apparemment la chaîne que j'ai utilisée dans le etTabHost(). NewTabSpec, que je trouve un peu bizarre puisque la documentation dit qu'elle renvoie un int et setCurrentTab prenant aussi un int. Est-ce que quelqu'un sait comment je peux obtenir l'index de mon onglet actuellement sélectionné pour que je puisse le restaurer?Récupère l'index de l'onglet sélectionné dans tabHost
Répondre
vous êtes sur la bonne voie, utilisez setOnTabChangedListener
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 vais devoir essayer ça demain, mais pourquoi cela ferait-il une différence si j'utilise getCurrentTab dans l'événement onTabChanged ou dans mon onSaveInstanceState? Et merci pour votre réponse actuelle. – Jack
bon il m'aide sur mon travail gr8 réponse – Ramz
Utilisez tabHost.getCurrentTab() pour obtenir Tab ...
tabHost= getTabHost();
tabHost.addTab(tab0); // TabSpec tab0=tabHost.newTabSpec(...
tabHost.addTab(tab1); // TabSpec tab1=tabHost.newTabSpec
int current = tabHost.getTabHost() ;
Etes-vous sûr que vous invoquez TabHost.getCurrentTab()? Il retourne int. Probablement vous avez égaré cela avec getCurrentTabTag()? –
Je suis certain, c'est pourquoi je trouve ça si bizarre. – Jack
Quelle version android utilisez-vous? –