Кастинговые блесны в Android
Вопрос
В настоящее время я пробую различные примеры Google для Android по адресу http://developer.android.com/guide/tutorials/views/hello-spinner.html
НО, похоже, я не могу заставить эту часть работать, даже несмотря на то, что код точно такой же, как тот, что представлен на веб-сайте.
Счетчик s = (Счетчик) findViewById(R.id.счетчик);
Eclipse продолжает говорить "Невозможно перевести из вида в счетчик".
Кто-нибудь из вас, ребята, знает, как это решить?
Спасибо.
Решение
Вы уверены, что импортировали android.widget.Spinner
а не что-то другое, названное так же?Может быть, попробуйте следующее, просто чтобы быть уверенным:
android.widget.Spinner s = (android.widget.Spinner) findViewById(R.id.spinner);
Если это не создает у вас проблем там, то велика вероятность того, что у вас проблема с пространством имен.
Другие советы
Это кажется странным, вы уверены, что импортировали android.widget.Счетчик?Spinner наследуется от View, поэтому он должен работать.
Как предполагают другие, это может быть проблемой с пространством имен.Я столкнулся с этим однажды, когда создавал общий - чтобы использовать ваш случай, я определил класс как принимающий Foo<Spinner>
вместо того , чтобы Foo<A>
, и так далее Spinner
было определено как локальное имя в моем пространстве имен.Это было только тогда, когда я переименовал generic в Foo<A>
что мой Spinner
ссылки разрешены.
(в моем случае это было String
вместо того , чтобы Spinner
, но шаблон должен сохраняться)
имя вашей переменной spinner не должно совпадать с именем класса.