我不想硬连线类名并使用 instanceOf
但动态标识类
假设我有
// add fragments
mFragments = new ArrayList<Fragment>();
mFragments.add(Fragment.instantiate(this, class1.class.getName()));
mFragments.add(Fragment.instantiate(this, class2.class.getName()));
public class class1 extends SherlockListFragment{
public static final String TAG = "class1";
}
所有类都有 extends
SherlockActivity 或 SherlockListFragment,因此它们有一个共同的基类 Fragment
。我现在如何在遍历数组时获得例如static
标记或其他无需使用 instanceOf
即可识别 Class
的内容。我有一些 ide,但想获得一些输入以便我可以学习
public static final String TAG = "class1"
最佳答案
在基类中添加一个返回标记的方法。然后迭代您的结构并获取每个子类型的标签。
public class SherlockListFragment{
public String getTag(){
return TAG;
}
}
您不需要确定类的确切子类型。每当您开始遇到此类奇怪问题时,我建议您首先重新设计,而不是寻找解决方法。
关于java - 不使用instanceOf来识别不同类数组中的一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383647/