微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 用自身替换片段不会显示任何内容

我正在尝试决定并在activity的onResume方法显示一个片段,但如果再次选择之前添加的片段,则该活动将变为空白.

示例代码(带一个片段):

@Override
protected void onResume(){
    FragmentTransaction trans = getSupportFragmentManager().beginTransaction();

    trans.replace(R.id.myLayout,fragA);

    trans.commit();
    getSupportFragmentManager().executePendingTransactions();
}

使用上面的代码,当第一次创建活动时,它会正确显示fragA,但是如果我按Home键然后切换回我的活动(为了再次激活onResume),它全部变为空白(看起来像fragA已移除).

替换之前添加的片段会自行删除吗?或如果它被自身替换,如何松散片段?

解决方法

您不能用自己替换片段.替换的前半部分是删除该id上的前一个片段.删除片段后,片段管理器将无法再添加或使用它(因此替换的添加部分将无法正常工作).

根据您的使用情况,您有两种选择:

>创建新片段,而不是重用现有实例
>使用其他方法来查看是否有必要替换您的片段

最后,您可能不需要调用executePendingTransactions.

原文地址:https://www.jb51.cc/android/308852.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐