Как я могу передать дополнения в намерения внутри TabActivity? - PullRequest
1 голос
/ 20 ноября 2010

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

package com.stocktwits.activity;

import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class StockTwitsTabActivity extends TabActivity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.stocktwits_tab_activity);

        Resources res = getResources(); // Resource object to get Drawables
        TabHost tabHost = getTabHost();  // The activity TabHost
        TabHost.TabSpec spec;  // Resusable TabSpec for each tab
        Intent intent;  // Reusable Intent for each tab

        // Create an Intent to launch an Activity for the tab (to be reused)
        intent = new Intent().setClass(this, StreamActivity.class);

        // Initialize a TabSpec for each tab and add it to the TabHost
        intent.putExtra("reloadAll", true);
        spec = tabHost.newTabSpec("all").setIndicator("All",res.getDrawable(R.drawable.icon)).setContent(intent);
        tabHost.addTab(spec);

        // Do the same for the other tabs
        intent = new Intent().setClass(this, StreamActivity.class);
        spec = tabHost.newTabSpec("home").setIndicator("Home",res.getDrawable(R.drawable.icon)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, StreamActivity.class);
        spec = tabHost.newTabSpec("mentions").setIndicator("Mentions",res.getDrawable(R.drawable.icon)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, StreamActivity.class);
        spec = tabHost.newTabSpec("directs").setIndicator("Directs",res.getDrawable(R.drawable.icon)).setContent(intent);
        tabHost.addTab(spec);

        intent = new Intent().setClass(this, StreamActivity.class);
        spec = tabHost.newTabSpec("more").setIndicator("More",res.getDrawable(R.drawable.icon)).setContent(intent);
        tabHost.addTab(spec);

        tabHost.setCurrentTab(0);
    }
}

Ответы [ 2 ]

0 голосов
/ 20 ноября 2010

Посмотрите на здесь

Дайте мне знать, если это правильное решение для вашей цели

0 голосов
/ 20 ноября 2010

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

...