我有一个带有两个标签的屏幕,对于每个标签,我尝试使用不同的布局运行不同的片段。
我目前有以下内容:
一切正常,但问题是当应用程序启动时只有一个空白屏幕,标签为Tab1和Tab2。例如,当用户单击Tab2时,仅显示某些活动的片段。当他点击Tab1时,Tab1的片段正常显示。
我希望Tab1的片段在应用程序启动时立即启动,但我不知道如何实现它。
有什么想法吗? :d
答案 0 :(得分:2)
听起来像片段交易问题。但我需要看看MainActivity的代码。
我假设您正在使用FragmentTransactions.add和FragmentTransaction.replace来移动它们。
答案 1 :(得分:0)
解决方案是在添加所有选项卡之后,需要在onCreate()中完成:
TabInfo activeTab = (TabInfo) this.hashMapTab.get("Tab1");
FragmentTransaction ft = this.getSupportFragmentManager().beginTransaction();
activeTab.fragment = Fragment.instantiate(this,activeTab.className.getName(), activeTab.args);
ft.add(R.id.tab1, activeTab.fragment, activeTab.tag);
ft.attach(activeTab.fragment);
lastTab = activeTab;
ft.commit();
hashMapTab是所有选项卡的TabInfo的哈希映射。 TabInfo是所有Tab数据的容器,如类名和标签的标签。