Кастинг блесны в андроид - PullRequest
       41

Кастинг блесны в андроид

3 голосов
/ 17 сентября 2009

В настоящее время я пробую различные примеры Google для Android на http://developer.android.com/guide/tutorials/views/hello-spinner.html

НО я не могу заставить эту часть работать, даже если код точно такой же, как приведенный на сайте.

Spinner s = (Spinner) findViewById (R.id.spinner);

Затмение продолжает говорить: «Невозможно кастовать из вида в Спиннер»

Кто-нибудь из вас, ребята, знает, как решить эту проблему?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 17 сентября 2009

Вы уверены, что импортировали android.widget.Spinner, а не что-то еще с таким же именем? Может быть, попробуйте следующее, просто чтобы быть уверенным:

android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);

Если это не доставляет вам проблем, велика вероятность, что у вас проблема с пространством имен.

1 голос
/ 27 ноября 2014

имя вашей переменной счетчика не должно совпадать с именем класса.

1 голос
/ 17 сентября 2009

Как предполагают другие, это может быть проблемой с пространством имен. Я столкнулся с этим один раз, когда запустил общий - для использования вашего случая я определил класс как Foo<Spinner> вместо Foo<A>, и поэтому Spinner было определено как локальное имя в моем пространстве имен. Только когда я переименовал универсальный в Foo<A>, мои Spinner ссылки разрешились.

(в моем случае, это было String, а не Spinner, но шаблон должен сохраняться)

1 голос
/ 17 сентября 2009

Это кажется странным, вы уверены, что импортировали android.widget.Spinner? Spinner наследует от View, поэтому он должен работать.

...