TabActivity уничтожить активность каждой вкладки при изменении вкладки - PullRequest
1 голос
/ 31 марта 2011

Проблема в 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);
…………………

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

1 Ответ

5 голосов
/ 23 июня 2011

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

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");
...