TabActivity уничтожить активность каждой вкладки при изменении вкладки

1

Проблема в TabActivity У меня три вкладки в моем приложении, и каждый из них - это разные действия. На первой вкладке у меня есть текстовое поле и список, через которые пользователь ищет Но после поиска, когда вкладка изменена пользователем и снова вернется к Вкладка поиска, затем список и текстовое поле очищаются.

Но я хочу быть еще населенным. Какая панель вкладок работает с уничтожением активности? Стоп? Пауза? я не знаю Есть какой-либо способ сделать это Спасибо.

public class MainTab extends TabActivity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.tab);
        TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);            

        TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
        TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
        TabSpec thirdTabSpec = tabHost.newTabSpec("tid1");

        /* TabSpec setIndicator() is used to set name for the tab. */
        /* TabSpec setContent() is used to set content for a particular tab. */
        firstTabSpec.setIndicator("",getResources().getDrawable(R.drawable.search)).setContent(new Intent(this,Search.class));
        secondTabSpec.setIndicator("",getResources().getDrawable(R.drawable.manager)).setContent(new Intent(this,Manager.class));
        thirdTabSpec.setIndicator("",getResources().getDrawable(R.drawable.settings)).setContent(new Intent(this,Settings.class));

        tabHost.addTab(firstTabSpec);
        tabHost.addTab(secondTabSpec);
        tabHost.addTab(thirdTabSpec);
…………………

код тот же, что и обычная табло. это будет трудно, если мы сохраним экземпляр вручную каждого класса, у меня есть много данных в действиях

  • 0
    В TabActivity при изменении табуляции предыдущее действие приостанавливается. т.е. вызывается метод onPause (). Покажите свой код.
Показать ещё 3 комментария
Теги:
tabbar

1 ответ

5

Замените свой следующий код,

TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
TabSpec thirdTabSpec = tabHost.newTabSpec("tid1");

с ними,

TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid2");
TabSpec thirdTabSpec = tabHost.newTabSpec("tid3");
  • 1
    Моему коллеге и мне понадобилась минута, чтобы увидеть разницу. Для пользы других: во первых, все 3 спецификации используют "tid1"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню