【问题标题】:(android) Change tab instead of startActivity(android) 更改选项卡而不是 startActivity
【发布时间】:2011-10-14 10:00:55
【问题描述】:

正如我所说,我的程序上有一个 tabView,我想通过活动传递一些数据。当我尝试 startActivity 时,标签消失了。所以我想而不是尝试startActivity。我想换个标签。

我有 3 个活动,每个选项卡一个,一个单独的用于保存选项卡视图。

public class Start extends TabActivity {
TabHost tabHost;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start);

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

intent = new Intent().setClass(this, Home.class);
spec = tabHost.newTabSpec("Home").setIndicator("Home",
                  res.getDrawable(R.drawable.ic_tab_main))
              .setContent(intent);
tabHost.addTab(spec);

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

intent = new Intent().setClass(this, Settings.class);
spec = tabHost.newTabSpec("Settings").setIndicator("Settings",
                  res.getDrawable(R.drawable.ic_tab_settings))
              .setContent(intent);
tabHost.addTab(spec);

tabHost.setCurrentTab(0);

这就是我添加选项卡的方式,但我不知道如何从其他活动更改选项卡。我试过这个:

  Start tab;
  tab.tabHost.setCurrentTab(0);

但我得到了错误....:/

【问题讨论】:

  • 我真的不明白你想要做什么。你能解释一下吗?
  • 我总共有 4 个活动。 1 包含 TabView (Start.java) 和另外 3 个活动,每个选项卡一个。我想在活动之间传递一些数据,但是当我尝试 startActivity 时,我在屏幕上看到了活动,但所有选项卡都消失了。因此,我不想改变 startactivity,而是只想更改选项卡,这样 tas 就不会消失,而且我不知道如何以编程方式更改选项卡

标签: android tabs tabview


【解决方案1】:
【解决方案2】:

您无需调用startActivity 即可在选项卡之间切换,TabHost 会为您处理。 至于在选项卡之间传递数据,您是否考虑过将数据存储在 tabActivity 中?您可以通过使用getParent() 并将其投射到您的班级(在您的情况下为(Start))从您的标签(儿童)中获取对它的引用 像这样:

Start parentActivity;
parentActivity = (Start) getParent();

现在您可以访问在 tabActivity 中创建的数据和方法。

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多