有没有办法完全删除与操作栏选项卡关联的片段?我的应用程序在纵向视图中有 2 个选项卡。在风景视图中,我加载了一个完全不同的片段视图。当我从纵向视图转到着陆时,选择的最后一个选项卡中的片段覆盖了风景中的片段。
有没有办法确保在方向更改时永远不会重新创建来自纵向视图的选项卡片段?
编辑:我正在使用动态片段。所有片段都被添加到同一个框架布局中。
有没有办法完全删除与操作栏选项卡关联的片段?我的应用程序在纵向视图中有 2 个选项卡。在风景视图中,我加载了一个完全不同的片段视图。当我从纵向视图转到着陆时,选择的最后一个选项卡中的片段覆盖了风景中的片段。
有没有办法确保在方向更改时永远不会重新创建来自纵向视图的选项卡片段?
编辑:我正在使用动态片段。所有片段都被添加到同一个框架布局中。
当您更改方向时,您会重新创建活动,从而重新创建所有片段。根据主 Activity 的 onCreate 方法中的方向来处理这种情况应该很简单。
要获得方向使用:
getResources().getConfiguration().orientation
通过调用父片段管理器重新创建活动时,通过标签定位片段解决了该问题:
Fragment frag = super.getSupportFragmentManager().findFragmentByTag("tag");
if (frag != null)
fragTransaction.remove(frag);