繁体   English   中英

如何将其他内容传递给TabActivity内部的意图?

[英]How can I pass extras to an intent inside of a TabActivity?

我有一个承载许多选项卡的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);
    }
}

听起来您做错了。 为什么要将相同的活动传递给所有选项卡? 使用不同的活动或不同的视图。 不一样的活动。

这里

让我知道这是否是有效的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM