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

タブ開始のインデックスを 0 から返す getCurrentTab() を使用できます。

于 2014-01-24T11:17:29.117 に答える
2

tabHost.getCurrentTab() を使用してタブを取得します ...

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 に答える