片段内的Android TabHost

Posted

技术标签:

【中文标题】片段内的Android TabHost【英文标题】:Android TabHost inside Fragment 【发布时间】:2012-01-31 01:52:54 【问题描述】:

我正在开发一个 android 应用程序,我使用了来自 developer.android.com 的 android FragmentPager tabs example),这个例子使用片段作为标签内容,现在我想在其中一个片段中放置一个 tabHost,我已尽力而为,但第二个选项卡主机未显示内容,我可以看到选项卡标题但没有内容,我正在尝试将 Intents 用作 TabContent。我不认为我有任何相关的代码可以在这里发布,但是如果你需要我可以在这里发布。

层次结构是:FragmentActivity->TabHost->Fragments->TabHost->(Intent or Fragment,这是问题区域)

任何建议将不胜感激。

【问题讨论】:

这个答案很好,检查一下:http://***.com/a/21605672/3484700 【参考方案1】:

你见过吗?参考了几次,应该可以帮到你。

http://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/

【讨论】:

是的,我已经看到了,但我的问题不同,我的包含 TabHost 的类是从 Fragment 类而不是 FragmentActivity 扩展的。但我会再试一次。 @Architact 你发现这个过程有效吗?我也正在尝试将带有 2 个选项卡的 TabHost 添加到片段中。看起来您可以使用相同的逻辑,但将 TabHost 及其控制器添加到 Fragment。 @Architact 可以分享一下解决方案吗? @HarshaMV。您是否面临与我发布的完全相同的问题? 我不完全记得我是如何解决这个问题的,因为它已经快一年了,我已经在这里上传了相关的代码部分:dl.dropbox.com/u/55770184/concessions.zip,抱歉我的编码不好相当紧迫的任务。【参考方案2】:

现在您可以使用 FragmentTabHost

这也可以通过片段嵌套在片段内部使用

http://developer.android.com/reference/android/support/v4/app/FragmentTabHost.html

【讨论】:

在此链接中提供的代码之上的任何开发都将非常有帮助。没有在主要活动创建的片段内使用 FragmentTabHost 的工作示例......无论如何,在主要活动使用 NavigationDrawer 的地方都没有。但我对此真的很陌生【参考方案3】:

我面临同样的问题。我们无法在另一个选项卡中打开片段或活动。(我们会在同一个选项卡中打开)。所以我习惯了下面的代码来改变标签。

 MainActivity.tabHost.setCurrentTab(tabIndex);

它使用主标签页打开标签。

【讨论】:

以上是关于片段内的Android TabHost的主要内容,如果未能解决你的问题,请参考以下文章

Android:片段内的按钮操作

Android Jetpack导航,另一个主机片段内的主机片段

带有片段的 NavigationDrawer 内的 Android TabLayout

片段内的VideoView,从未调用过onPreparedListener(android)

Cordova 4.0 上的 Android 片段内的 Cordova webview

活动中自定义对话框内的 ANDROID 片段