【发布时间】:2026-01-06 15:35:01
【问题描述】:
我正在尝试在相对布局中添加和删除片段。如果在相对布局(片段容器)中为空,则添加片段,如果不替换片段。
如何检查布局是否为空,这样我就不会收到片段已添加的错误。
【问题讨论】:
-
使用 myFragment.isInlayout()
标签: android layout fragment android-relativelayout
我正在尝试在相对布局中添加和删除片段。如果在相对布局(片段容器)中为空,则添加片段,如果不替换片段。
如何检查布局是否为空,这样我就不会收到片段已添加的错误。
【问题讨论】:
标签: android layout fragment android-relativelayout
试试这个代码
YourFragment dFrag = (YourFragment) getSupportFragmentManager()
.findFragmentById(R.id.detailfragment);
if (dFrag != null && dFrag.isInLayout()) {
// do something
} else {
// do something
}
【讨论】:
不确定这是否是一个答案,但我建议您像这样使用 FragmentTransaction:
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
if(yourOldFragment.isAdded()) {
ft.replace(R.id.your_container, yourNewFragment);
ft.commit();
}
你也可以看看这个链接:Fragment duplication on Fragment Transaction
【讨论】: