如何判断2个片段是否有来自同一个类的实例

Waz*_*_Be 6 android class instance fragment

假设我在容器中有一个片段,我应该用另一个片段替换它.

代码很简单:

getSupportFragmentManager().beginTransaction().
replace(R.id.content_frame,fragmentToAdd).addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)

现在的问题是我想确保fragmentToAdd与我要替换的片段不相似.

如果是这种情况,应用程序应该什么都不做.

所以,我可以得到原始片段:

Fragment originalFragment=(Fragment) getSupportFragmentManager().findFragmentById(R.id.content_frame);
Run Code Online (Sandbox Code Playgroud)

最后的代码是这样的:

if (haveDifferentInstance(originalFragment,fragmentToAdd)){
    getSupportFragmentManager().beginTransaction().
    replace(R.id.content_frame,fragmentToAdd).addToBackStack(null).commit();}
else
    // Do nothing
Run Code Online (Sandbox Code Playgroud)

那么,hasDifferentInstance(Fragment fragmentA,Fragment fragmentB)的代码是什么?

感谢您的帮助.

编辑

我知道我可以做的事情如下:

if (fragmentToAdd instanceof FragmentA)
Run Code Online (Sandbox Code Playgroud)

但是我有片段A,片段B,......片段F,我不想对每种类型的片段使用'if'.

yDe*_*uis 14

检查班级是否相等: if(origianalFragment.getClass().equals(fragmentToAdd.getClass()))