2013-11-29 3 views
0

Я хочу реализовать счетчик, который запускает onItemSelected, даже если выбран тот же элемент. Я нашел ответ, который является обычным расширением spinner класса, как описано здесь: How can I invoke an action on the same selection of spinner valueРеализация пользовательского класса spinner?

Что я не понимаю, как это реализовать? Я попытался создать новый настраиваемый класс spinner в том же пакете, что и мой класс активности. Затем я создал экземпляр пользовательского класса, как это:

private NDSpinner customSpinner; 

Тогда я инициализирует счетчик:

customSpinner = (NDSpinner) findViewById(R.id.my_spinner); 

Когда я запускаю его исключение выбрасывается на строке выше:

java.lang.ClassCastException: android.widget.Spinner не может быть передан в myprofile.NDSpinner

ответ

2

Если вы хотите использовать собственный счетчик, вы должны объявить его в своем файле макета xml.

Вместо

<Spinner ... /> 

объявим как

<com.xxx.myprofile.NDSpinner ... /> 

Вы должны использовать полное имя имя пакета плюс класс для блесны.

+0

Хорошо, я пробовал это, но теперь получил исключение времени выполнения? 'java.lang.ClassNotFoundException: Не нашел класс« myprofile.NDSpinner »по пути:/data/app/myproject.myproject.apk' –

+1

Вам нужно использовать полное имя пакета плюс класс. Я не уверен, что это 'myprofile.NDSpinner'. – Szymon

+1

Да, так оно и было, никогда бы не подумал об этом. Огромное спасибо! –

Смежные вопросы