Android - 从选项卡内的 Activity 中切换选项卡

标签 android tabs android-intent

目前我有一个 TabHost 实现了 3 个选项卡,每个选项卡都包含一个单独的 Activity 。我的问题是如何在选项卡主机内的一项 Activity 中切换选项卡。我到处寻找,但未能找到这个问题的真正答案。

最佳答案

在与这个问题斗争了很长时间之后,我已经找到了在使用基于 Activity 的选项卡时切换选项卡的解决方案。

在创建 tabhost 的父 Activity 类中,我实现了如下方法:

public void switchTab(int tab){
            tabHost.setCurrentTab(tab);
}

在我希望能够在内部切换到另一个选项卡的选项卡内部,我创建了以下方法:

public void switchTabInActivity(int indexTabToSwitchTo){
            MintTrack parentActivity;
            parentActivity = (MintTrack) this.getParent();
            parentActivity.switchTab(indexTabToSwitchTo);
}

如果你想要这个代码的一个很好的例子,你可以看看我的 MintTrack 项目 herehere .

附带说明,在决定是使用基于 View 还是基于 Activity 的 TabHost 时,请务必小心。

基于

Activity 的选项卡非常棒,因为它们可以分离到自己的 XML 文件中。 Activity 也可以组织到自己的 Java 文件中,而不是困惑成一个。话虽这么说,一些你认为很容易的事情会因为基于 Activity 的选项卡而变得复杂。很难在选项卡之间传递信息而不产生开销。基于 Activity 的选项卡也使用更多的内存/CPU 时间,因为它们具有围绕它们的 Activity 的开销。在深入使用基于 ActivityTabHost 之前,请考虑这一点以及更多的权衡。我现在知道,如果我再次使用它们,我会亲自使用基于 View 的 TabHost

关于Android - 从选项卡内的 Activity 中切换选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2541802/

相关文章:

java - 在 Lollipop 上隐藏系统 UI

android - 在选项卡中加载不同的 Activity

如果已经作为根目录在后台堆栈中,Android Activity 未启动?

android - 无法执行dex : multiple dex files define Landroid

android - 是否可以在不使用 phonegap 的情况下开发 html5 应用程序?

android - RTL 不适用于布局

java - 自定义 DialogFragment 中的 Tablayout 不显示选项卡文本和图标

javascript - 是否可以使用 ie 选项卡 View 在 chrome 上调试 javascript?

java - Intent 未开始 Activity

android - 如何在我的布局中将 2 个按钮放置在同一位置