检测Spinner组件的问题

时间:2011-03-23 17:20:19

标签: android class components

遍历View的组件,以下代码可以正常工作:

if (child.getClass() == EditText.class) {
  ...
} else if (child.getClass() == TextView.class) {
  ...

但这不是:

} else if (child.getClass() == Spinner.class) {
  ...

Spinner类与另外两个类有什么区别?


我的错误......我之前检查过它是否是一个ViewGroup对象所以它从未达到过这种情况

由于

3 个答案:

答案 0 :(得分:2)

我的错误......我之前检查过它是否是一个ViewGroup对象,所以它永远不会达到条件

答案 1 :(得分:1)

 if(child.getClass() instanceof Spinner.class){
 ...

修改

我找到了解释它的Stackoverflow问题:

Any reason to prefer getClass() over instanceof when generating .equals()?

答案 2 :(得分:1)

您是否考虑过使用

if(child instanceof EditText){}
else if(child instanceof TextView){}
else if(child instanceof Spinner){}