Изменение содержимого вкладок внутри вкладки - PullRequest
0 голосов
/ 01 декабря 2010

У меня проблемы с вкладками в Android.

Прежде всего я создаю свои вкладки следующим образом:

    tabHost = getTabHost();
    search = tabHost.newTabSpec("search").setIndicator("Search").setContent(new Intent(this,Search.class));
    mealplan = tabHost.newTabSpec("mealplan").setIndicator("Mealplan").setContent(new Intent(this,Search.class));
    shoppinglist = tabHost.newTabSpec("shoppinglist").setIndicator("Shoppinglist").setContent(new Intent(this,Search.class));
    settings = tabHost.newTabSpec("settings").setIndicator("Settings").setContent(new Intent(this,NewUser.class));

    tabHost.addTab(search);
    tabHost.addTab(mealplan);
    tabHost.addTab(shoppinglist);
    tabHost.addTab(settings);

Теперь я хочу иметь возможность изменять содержимое вкладки внутри вкладки. Например, если я в данный момент на вкладке поиска (стартовая вкладка по умолчанию), я хочу программно изменить содержание поиска с мгновенным эффектом. Раньше я только начинал новые действия с группой активности, но в итоге все время давал мне стекопоток. Я предполагаю, что это потому, что я не мог использовать finish (), потому что это закрыло бы всю программу.

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

Я пытался использовать setContent, но эффект не мгновенный, и он как бы перекрывает содержимое по умолчанию на вкладке. Вы можете мне помочь? Дайте мне знать, если вам нужен какой-либо другой код.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 декабря 2010
public class l9_taboacto extends Activity {
    TabSpec search,mealplan,shoppinglist,settings;


    TabHost tabs;
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        tabs=(TabHost)findViewById(R.id.tabhost);
        tabs.setup();
        search = tabs.newTabSpec("search").setIndicator("Search").setContent(new Intent(this,Search.class));
        mealplan = tabs.newTabSpec("mealplan").setIndicator("Mealplan").setContent(new Intent(this,Search.class));
        shoppinglist = tabs.newTabSpec("shoppinglist").setIndicator("Shoppinglist").setContent(new Intent(this,Search.class));
        settings = tabs.newTabSpec("settings").setIndicator("Settings").setContent(new Intent(this,NewUser.class));

        tabs.addTab(search);
        tabs.addTab(mealplan);
        tabs.addTab(shoppinglist);
        tabs.addTab(settings);

    }



}

удачи,


Извините, похоже, я неправильно понял вашу проблему, здесь вы можете найти решение для организации целей запуска:

http://united -coders.com / nico-heid / android-viewflipper-in-tabhost-для-вкладок-для-разных-просмотров-и-лучше-памяти

Мухаммед,

...