Есть ли представление для ввода целых чисел в Android?

Я ищу что-то вроде отдельных частей диалога выбора даты. Представление, которое позволяет вводить целые числа (и только целые числа), которые вы можете ограничить (например, от 1 до 10), где вы можете использовать клавиатуру или стрелки в самом представлении. Он существует?

Это для диалога. Также поможет готовый диалог для запроса целого числа.

Виджет NumberPicker – это, вероятно, то, что вы хотите. К сожалению, он находится в com.android.internal.Widget.NumberPicker которым мы не можем добраться обычным способом.

Существует два способа его использования:

  1. Скопируйте код из источника android
  2. Использовать reflection для доступа к виджету

Вот xml для его использования в макете:

  

Вот reflection установки параметров NumberPicker (я не тестировал это):

 Object o = findViewById(R.id.picker); Class c = o.getClass(); try { Method m = c.getMethod("setRange", int.class, int.class); m.invoke(o, 0, 9); } catch (Exception e) { Log.e("", e.getMessage()); } 

Поскольку это внутренний виджет, а не в SDK, будущая совместимость может быть нарушена, если вы используете reflection. Было бы безопаснее катиться из источника.

Исходный источник этой информации используется в этой группе Google .

Внутренний виджет NumberPicker был извлечен из исходного кода Android и упакован для вашего использования, и вы можете найти его здесь . Прекрасно работает!

EDIT : оригинальная ссылка отсутствует, вы можете найти копию виджета здесь

Как уже упоминалось в другом месте , NumPicker теперь доступен в Android SDK с API 11 (Android 3.0):

http://developer.android.com/reference/android/widget/NumberPicker.html

Для Android <3.0 вы можете использовать код здесь:
https://github.com/novak/numpicker-demo
https://github.com/mrn/numberpicker

Вы можете с помощью EditText использовать android:inputType="number"

  
Давайте будем гением компьютера.