Есть мнение для inputing целых чисел в Android?

голоса
22

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

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

Задан 07/02/2009 в 10:31
источник пользователем
На других языках...                            


4 ответов

голоса
23

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

Есть два способа использовать его:

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

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

<com.android.internal.widget.NumberPicker
    android:id="@+id/picker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

Вот отражение установить параметры 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, будущая совместимость может быть нарушена, если вы используете отражение. Было бы безопаснее свернуть свой собственный из источника.

Оригинальный источник этой информации является общим в этой группе Google .

Ответил 07/02/2009 в 18:44
источник пользователем

голоса
7

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

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

Ответил 15/05/2010 в 21:58
источник пользователем

голоса
4

Как уже упоминалось в другом месте , NumberPicker теперь доступен в 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

Ответил 01/02/2012 в 20:00
источник пользователем

голоса
0

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

<EditText android:layout_height="wrap_content" android:id="@+id/editText1" android:inputType="number" android:layout_width="wrap_content"></EditText>
Ответил 19/12/2012 в 08:47
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more