2010-08-27 1 views
9

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

+1

Вы уверены, что вы вызываете TabHost.getCurrentTab()? Он возвращает int. Возможно, вы потеряли это значение с помощью getCurrentTabTag()? –

+0

Я уверен, вот почему я нахожу это настолько странным. – Jack

+1

Какую версию для Android вы используете? –

ответ

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()); 
       }  
      }); 
... 
... 
... 
+0

В настоящее время у меня нет доступа к моему ноутбуку с кодом, поэтому мне придется попробовать это завтра, но почему бы не повлиять, использовал ли getCurrentTab в событии onTabChanged или в моем onSaveInstanceState? И спасибо за ваш текущий ответ. – Jack

+0

хороший он помогает мне на моей работе gr8 ответить – Ramz

6

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

+0

Этот метод принадлежит к тому объекту? 'something.getCurrentTab()' и что-то? – dialex

+0

Свой объект TabHost .. – Pranav

2

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

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

int current = tabHost.getTabHost() ; 

 Смежные вопросы

  • Нет связанных вопросов^_^