我有一种方法,可以将片段作为输入参数发送给该方法:
public static void ApishowdetailProducts(final int id, final Fragment
fragment){}
因此,在这种方法中,我想分析该片段是哪个片段>>,我的意思是它来自哪里:片段首页或片段搜索。
我通过创建如下对象来对其进行测试:
final Fragment fh=new FragmentHome();
final Fragment fs=new FragmentSearch();
final View v=fragment.getView();
if (fragment.equals(fs))
{;}
if(fragment==fs)
{;}
但是它不起作用,也不要输入if。
答案 0 :(得分:1)
您要寻找的是instanceof
:
public static void ApishowdetailProducts(final int id, final Fragment fragment) {
if (fragment instanceof FragmentHome) {
// Is FragmentHome
} else if (fragment instanceof FragmentSearch){
// Is FragmentSearch
}
}
Equals
将不起作用,因为您为fh
和fs
创建了新实例。请参阅here,以获取有关为何此操作无效的详细说明。