Bra*_*son 6 android xamarin.android android-tabhost android-fragments android-nested-fragment
我有一个像这样的层次结构的app:
FragmentTabHost (Main Activity)
- Fragment (tab 1 content - splitter view)
- Fragment (lhs, list)
- Framment (rhs, content view)
- Fragment (tab 2 content)
- Fragment (tab 2 content)
Run Code Online (Sandbox Code Playgroud)
所有片段视图都从资源中膨胀.
当应用程序启动时,一切都会显示,看起来很 当我从第一个选项卡切换到另一个选项卡并再次返回时,我试图重新创建选项卡1的视图时出现膨胀异常.
深入挖掘,这就是发生的事情:
我通过从片段管理器中删除子片段(我正在使用Mono)解决了这个问题,现在我可以切换标签而没有例外.
public override void OnDestroyView()
{
var ft = FragmentManager.BeginTransaction();
ft.Remove(FragmentManager.FindFragmentById(Resource.Id.ListFragment));
ft.Remove(FragmentManager.FindFragmentById(Resource.Id.ContentFragment));
ft.Commit();
base.OnDestroyView();
}
Run Code Online (Sandbox Code Playgroud)
所以我有几个问题:
我不确定如何在 Mono 中执行此操作,但是要将子片段添加到另一个片段,您不能FragmentManager使用Activity. 相反,您必须使用ChildFragmentManager托管Fragment:
http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager() http://developer.android.com/reference/android/support/v4/app/Fragment.html#getChildFragmentManager()
主要FragmentManager处理Activity您的选项卡。
ofChildFragmentManager处理tab1分割视图。
| 归档时间: |
|
| 查看次数: |
3393 次 |
| 最近记录: |