9
votes

Obtenir l'index de l'onglet Sélectionné dans Tabhost

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?


4 commentaires

Ê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.


3 Réponses :


26
votes

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());
        }       
    });  
...
...
...


1 commentaires

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.



6
votes

Vous pouvez utiliser GetCurrentTab () qui renvoie l'index de l'onglet Démarrer à partir de 0.


1 commentaires

Cette méthode appartient à quel objet? Quelque chose.getCurrentTab () Et quel est quelque chose?



2
votes

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() ;


0 commentaires