获取tabHost中所选选项卡的索引

时间:2010-08-27 10:45:49

标签: android android-2.2-froyo android-tabhost

我正在尝试将当前所选选项卡的索引存储在onSaveInstanceState中,以便我可以将其恢复。然而getCurrentTab apparantely给了我在etTabHost()。newTabSpec中使用的字符串,我发现它有点奇怪,因为文档说它返回一个int和setCurrentTab也取一个int。 有谁知道我如何获取当前所选标签的索引,以便我可以恢复它?

3 个答案:

答案 0 :(得分: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());
        }       
    });  
...
...
...

答案 1 :(得分:6)

您可以使用getCurrentTab()返回tab的索引,从0开始。

答案 2 :(得分:2)

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

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

int current = tabHost.getTabHost() ;