9

我正在尝试将当前选定选项卡的索引存储在 onSaveInstanceState 中,以便可以恢复它。然而,getCurrentTab 显然将我在 etTabHost().newTabSpec 中使用的字符串返回给我,我觉得这有点奇怪,因为文档说它返回一个 int 并且 setCurrentTab 也采用一个 int。有谁知道我如何获取我当前选择的标签的索引以便我可以恢复它?

4

3 回答 3

26

你是在正确的方式,用于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());
        }       
    });  
...
...
...
于 2010-08-27T15:31:59.490 回答
6

您可以使用 getCurrentTab() 返回从 0 开始的选项卡索引。

于 2014-01-24T11:17:29.117 回答
2

使用 tabHost.getCurrentTab() 获取 Tab ...

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

int current = tabHost.getTabHost() ;
于 2014-12-11T07:59:44.123 回答