2010-11-26 2 views
1

Ищу ряд захватывающего, как те, которые используются в контрольных датах на Android и нашел этот вопрос: hour/minute picker for android countdown timerКак я могу получить значение виджета NumberPicker?

После этого примера я могу получить элементы управления я хочу - Ура! Проблема в том, что я не вижу, как получить значение, которое выбирает пользователь? Обычно я устанавливал прослушиватель изменений и был бы счастлив, но как мне создать класс, который реализует внутренний интерфейс com.android.internal.widget.NumberPicker$OnChangedListener? Есть ли другой способ получить текущий выбор?

+0

Не используйте частные API. Мы не будем ограничивать вас этим, но ваш код, скорее всего, сломается на будущих версиях платформы или даже на устройствах с той же платформенной версией, где производитель настроил все. – adamp

+0

Хороший вопрос - так как я просто пишу тестовый проект, я не беспокоюсь об этом. OTOH, возможно, я должен просто использовать другой способ ввода значений. –

ответ

0

Проверьте source code ... Вам нужен слушатель? getCurrent должно дать вам значение. При отражении это было бы что-то вроде:

Method m = c.getMethod("getCurrent"); 
int value = (Integer) m.invoke(o, foo); 

EDIT: Вы можете реализовать интерфейс, который вы получили через рефлексию с java.lang.reflect.Proxy см this question here.

+0

Спасибо. Я нашел веб-сайт с информацией javadoc для этого класса, и у него не было метода getCurrent. Я вижу из вашей ссылки, что он делает. Я попробую ваше предложение, когда я вернусь домой. –

+0

Работал как шарм. Для записи я просто играю это и не буду вводить такой код в производство, так как adamp говорит, что использовать частные API как это нехорошо. –

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