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