我想在android上的tabhost中添加一个片段作为其中一个标签。我想我需要使用片段管理器加载片段,但我不确定如何处理它。这是我设置tabHost的代码:
Intent intent = new Intent(getActivity(), FilesFragment.class);
tabSpec = tabHost.newTabSpec("Page 1").setContent(intent).setIndicator("How to Print");
tabHost.addTab(tabSpec);
tabSpec = tabHost.newTabSpec("Page 2").setContent(homePageTab2.getId()).setIndicator("Files");
tabHost.addTab(tabSpec);
tabSpec = tabHost.newTabSpec("Page 3").setContent(homePageTab3.getId()).setIndicator("Drives");
tabHost.addTab(tabSpec);
这是运行时错误:
Caused by: java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:747)
at android.widget.TabHost.setCurrentTab(TabHost.java:413)
at android.widget.TabHost.addTab(TabHost.java:240)
at io.uprint.uprint.Home.onCreateView(Home.java:86)
答案 0 :(得分:0)
答案就在logcat中......
Caused by: java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
来自TabHost
的文档...
public void setup(LocalActivityManager activityGroup)
如果您正在使用setContent(android.content.Intent),则必须调用此方法,因为启动本地活动需要activityGroup。如果您扩展TabActivity,则会为您完成此操作。
<强>参数强>
activityGroup 用于启动标签内容的活动。