大佬教程收集整理的这篇文章主要介绍了android:tabhost在一个片段中,w /片段作为标签,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我从谷歌的FragmentsTab例子开始.这显示了如何使用片段作为选项卡内容,但TabHost本身仍然托管在一个活动中.再次,我需要将标签主机托管在片段中.
我拿了FragmentsTab示例,并将代码移入onCreate()并将其移动到我的Fragment中的onCreateView(),
@Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceStatE) { View fragmentView = inflater.inflate(R.layout.detail_fragment,container); mTabHost = (TabHost) fragmentView.findViewById(android.R.id.tabhost); mTabHost.setup(); mTabManager = new TabManager(getActivity(),mTabHost,R.id.realtabcontent); // TODO: localize mTabManager.addTab(mTabHost.newTabSpec("info").seTinDicator("File Info"),InfoFragment.class,null); return fragmentView; }
当我跑,我得到这个例外,
05-25 14:42:27.272: E/AndroidRuntime(4701): Caused by: java.lang.IllegalStateException: Recursive entry to executePendingtransactions 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1343) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.executePendingtransactions(FragmentManager.java:429) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.TabManager.onTabChanged(TabManager.java:116) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.invokeOnTabchangelistener(TabHost.java:359) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.setCurrentTab(TabHost.java:344) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.addTab(TabHost.java:216) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.TabManager.addTab(TabManager.java:92) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.DetailFragment.onCreateView(DetailFragment.java:46) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:819) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1053) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.BACkStackRecord.run(BACkStackRecord.java:622) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1371) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.executePendingtransactions(FragmentManager.java:429) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.TabManager.onTabChanged(TabManager.java:116) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.invokeOnTabchangelistener(TabHost.java:359) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.setCurrentTab(TabHost.java:344) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.widget.TabHost.addTab(TabHost.java:216) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.TabManager.addTab(TabManager.java:92) 05-25 14:42:27.272: E/AndroidRuntime(4701): at com.zimbra.octopus.android.DetailFragment.onCreateView(DetailFragment.java:46) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:819) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1111) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:264) 05-25 14:42:27.272: E/AndroidRuntime(4701): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
看着跟踪,我看到onCreateView()用于DetailFragment(托管TabHost的片段)递归调用.不知何故,对TabManager.addTab()的调用(再次参见FragmentsTab示例)导致对DetailFragment.onCreateView()的递归调用.
我究竟做错了什么?这有可能吗?
谢谢.
以上是大佬教程为你收集整理的android:tabhost在一个片段中,w /片段作为标签全部内容,希望文章能够帮你解决android:tabhost在一个片段中,w /片段作为标签所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。