Android 如何查找相对布局是否包含片段

Android 如何查找相对布局是否包含片段,android,layout,fragment,android-relativelayout,Android,Layout,Fragment,Android Relativelayout,我试图在相对布局中添加和删除一个片段。如果相对布局中(片段容器)为空,则添加片段(如果不替换片段) 如何检查布局是否为空,这样我就不会得到错误消息,说已经添加了片段。试试这段代码 YourFragment dFrag = (YourFragment) getSupportFragmentManager() .findFragmentById(R.id.detailfragment); if (dFrag != null && dFrag.isInLayo

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

如何检查布局是否为空,这样我就不会得到错误消息,说已经添加了片段。

试试这段代码

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

if (dFrag != null && dFrag.isInLayout()) {
    // do something
} else {
    // do something
}
试试这个代码

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();
}

您还可以查看此链接:

不确定这是否是一个答案,但我建议您使用类似以下的FragmentTransaction:

FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();

if(yourOldFragment.isAdded()) {
    ft.replace(R.id.your_container, yourNewFragment);
    ft.commit();
}

您还可以查看此链接:

使用myFragment.isInlayout()使用myFragment.isInlayout()方法