- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的一个 fragment 的布局中有一个 FragmentTabHost(我们称它为 parentFragment)。现在,我在 parentFragment 的 onCreateView 中以编程方式初始化进入 tabhost 的每个 fragment 。创建 parentFragment 后,一切似乎都正常工作,并且正确显示第一个选项卡的 fragment 。
但是只要我切换一次选项卡, fragment 就会消失(我可以看到 tabhost 的背景颜色,但没有 tabcontent-container 的内容)。当我切换回第一个 fragment 时,第一个 fragment 也不见了。正如我的日志记录所示,这些 fragment 实际上正在创建,但它们是不可见的。
我认为它与(重新)创建 fragment 有关,因为我还尝试将 ViewPager 与 FragmentPagerAdapter 结合使用。在那里,我可以愉快地在前两个 fragment 之间切换(由于 setOffscreenPageLimit() ==1 而预加载),但是(重新)创建的 fragment 也是空白的。
有什么想法吗??
这是我的一些代码:
parentFragment 的 XML 提取:
...
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentTop="true" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp" />
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_below="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
</android.support.v4.app.FragmentTabHost>
...
parentFragment 的 XML 提取:
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d(TAG, "onCreateView");
ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.fragment_app_details_test, container, false);
tabHost = (FragmentTabHost) layoutContainer.findViewById(android.R.id.tabhost);
tabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("TAB1"),
FragmentSubTab1.class, null);
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("TAB2"),
FragmentSubTab2.class, null);
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("TAB3"),
FragmentSubTab3.class, null);
return layoutContainer;
}
...
子标签 fragment 中的简单布局膨胀:
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup layoutContainer = (ViewGroup) inflater.inflate(R.layout.subfragment1, container,
false);
initUi(layoutContainer);
return layoutContainer;
}
...
最佳答案
我以前没有处理过 FragmentTabHost 但我建议您使用操作栏方法 setNavigationMode(ActionBar.NAVIGATION_MODE_TABS) 在您的应用程序中实现选项卡导航(Doc here: http://developer.android.com/guide/topics/ui/actionbar.html#Tabs )这个提议的方法似乎工作量更少,使用的 fragment 持有者也更少。您基本上可以实例化您的选项卡,将它们添加到后台堆栈,并通过 onTabSelected 或 onTabUnselected 方法根据选定的选项卡显示/隐藏它们。
希望对您有所帮助。
关于android - 在嵌套的 FragmentTabHost 中切换选项卡后 fragment 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886710/
我已经实现了 FragmentTabHost,但我的 Fragment 超出了 tabhost。这是我的 Activity : public class MainActivity extends Ac
我在一个 FragmentActivity 中使用了一个 FragmentTabHost,它有 3 个选项卡。 如果我从每个选项卡的第一页更改选项卡,它工作正常,但如果我在一个选项卡内导航抛出片段然后
问题: 我正在尝试创建两个包含 Fragments 和 FragmentTabHost 的选项卡。 我在此处将选项卡添加到 FragmentTabHost(包含选项卡的 FragmentActivit
我在程序中使用 FragmentTabHost 显示子 fragment ( fragment 中的 fragment )时遇到问题。选项卡主机显示完美,但其内容未显示... 首先介绍类: 订单.ja
这是我的 activity_main.xml 布局,它包含两个选项卡。选定的选项卡内容根本没有显示。我哪里错了?如果我在下面的布局中交换 FragmentTabHost 和 Framelayout 的
我已经使用支持包中的 FragmentTabHost 实现了选项卡,但未显示可绘制图标? 如何使用 FragmentTabHost 显示可绘制图标? mTabs = (FragmentTabHost)
我正在尝试删除 android.support.v4.app.Fragment TabHost 上选项卡下方的蓝线和蓝色背景(选择选项卡时)。有人这样做过吗? 发送 最佳答案 我认为您必须自定义选项卡
我正在为我的一个项目使用 FragmentTabHost。 我的应用程序中有 5 个以上的标签页。 如果我使用一个或两个选项卡意味着 TabHost 看起来不错。 如果我添加超过 5 个标签,标签主机
我为 FragmentTabHost 使用了 v4 支持库 要求是当我将标签页切换到另一个标签页和另一个标签页时,即调用 onCreateView() & onActivityCreated() 每次
我正在使用带有多个选项卡的 FragmentTabHost(构造如图 here 所示)。但是,我无法使用 getFragmentByTag(在这种情况下返回 null)随机寻址我的选项卡,除非已通过至
简单的 android.support.v4.app.FragmentTabHost 的图形布局永远不会在 Eclipse 或 Android Studio 中呈现。 我得到的控制台错误是一致的: 渲
几天前,我在 Fragment 中使用 NavigationDrawer 实现了 TabHostFramgent,我遇到了以下错误: java.lang.IllegalStateException:
我正在开发一个带有选项卡的 Android 应用程序 (FragmentTabHost)。我有一个带有 6 个选项卡的 FragmentActivity。目前,选项卡的名称显示为进行行跳转。我希望所有
我试过下面的代码。将框架布局对齐到选项卡小部件上方,但它仍然不起作用 编辑我正在使用 Fragme
我正在 visual studio 中使用 xamarin.android 开发一个应用程序,我正在尝试在我的应用程序的按钮上添加选项卡 这是我的代码 protected override void
我已经尝试了几个链接来删除 FragmentTabHost 中的选定选项卡,但对我不起作用。 First link Second link 我也在我的 Xml 中尝试过,但它不起作用 android:
好的,这就是我在错过图书馆时看到的: import android.support.v4.app.FragmentTabHost; 我在哪里可以找到它以及我需要如何将这个库添加到我的项目中? 感谢任何
所以我正在开发一个应用程序,直到现在,我一直在使用带有两个 Activity 的普通选项卡布局。现在有人告诉我,使用 FragmentTabHost 会更好。所以我一直在阅读一些 docs这是我到目前
这两天我一直在为一个简单的用户界面而苦苦挣扎。我只想要底部带有选项卡的选项卡式布局(由于这个原因不能使用 Tabs ActionBarSherlock)。我还希望我的选项卡由图标和文本表示。很简单?我
我有两个使用 FragmentTabHost 的 fragment 的选项卡式布局。在选项卡选择中,每个 fragment 都会重新创建(onCreateView、onActivityCreated.
我是一名优秀的程序员,十分优秀!