Получить индекс выбранной вкладки в tabHost - PullRequest
9 голосов
/ 27 августа 2010

Я пытаюсь сохранить индекс текущей выбранной вкладки в onSaveInstanceState, чтобы я мог восстановить его. Однако getCurrentTab, очевидно, возвращает мне строку, которую я использовал в etTabHost (). NewTabSpec, что я нахожу немного странным, поскольку в документации сказано, что он возвращает int, а setCurrentTab также принимает int. Кто-нибудь знает, как я могу получить индекс моей текущей выбранной вкладки, чтобы я мог восстановить ее?

Ответы [ 3 ]

26 голосов
/ 27 августа 2010

вы на правильном пути, используйте setOnTabChangedListener, чтобы получить выбранную вкладку.

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());
        }       
    });  
...
...
...
6 голосов
/ 24 января 2014

Вы можете использовать getCurrentTab (), который возвращает индекс начала табуляции с 0.

2 голосов
/ 11 декабря 2014

Используйте tabHost.getCurrentTab (), чтобы получить Tab ...

tabHost= getTabHost();
tabHost.addTab(tab0); // TabSpec tab0=tabHost.newTabSpec(...
tabHost.addTab(tab1); //  TabSpec tab1=tabHost.newTabSpec

int current = tabHost.getTabHost() ;
...