Проблема обнаружения компонента Spinner

1

итерация через компонент View включает следующий код:

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

но это не так:

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

Чем отличается класс Spinner от двух других?


Моя ошибка... Я раньше проверял, был ли он объектом ViewGroup, поэтому он никогда не достигал условия

Спасибо

  • 0
    Рассмотрите возможность использования instanceof. Он будет поддерживать подклассы.
Теги:
class
components

3 ответа

2
Лучший ответ

Моя ошибка... Я раньше проверял, был ли он объектом ViewGroup, поэтому он никогда не достигал условия

1

Рассматривали ли вы использование

if(child instanceof EditText){}
else if(child instanceof TextView){}
else if(child instanceof Spinner){}
1
 if(child.getClass() instanceof Spinner.class){
 ...

изменить

Я нашел вопрос Stackoverflow, который объясняет это:

Любые причины, чтобы предпочесть getClass() над instanceof при генерации .equals()?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню