【问题标题】:How to find Relative Layout Contains Fragment or Not如何查找相对布局是否包含片段
【发布时间】:2026-01-06 15:35:01
【问题描述】:

我正在尝试在相对布局中添加和删除片段。如果在相对布局(片段容器)中为空,则添加片段,如果不替换片段。

如何检查布局是否为空,这样我就不会收到片段已添加的错误。

【问题讨论】:

  • 使用 myFragment.isInlayout()

标签: android layout fragment android-relativelayout


【解决方案1】:

试试这个代码

YourFragment dFrag = (YourFragment) getSupportFragmentManager()
            .findFragmentById(R.id.detailfragment);

if (dFrag != null && dFrag.isInLayout()) {
    // do something
} else {
    // do something
}

【讨论】:

    【解决方案2】:

    不确定这是否是一个答案,但我建议您像这样使用 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

    【讨论】:

      最近更新 更多