Набор Цифр EditText Программно



Я по существу пытаюсь установить значение цифр EditText программно. Пока у меня есть:



weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());


это нормально, но я также хочу иметь возможность включать десятичное число (.). Есть идеи?

519   4  

4 ответов:

попробуйте это:

<EditText
    android:inputType="number"
    android:digits="0123456789."
/>

Код:

weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789."));

но, это позволяет пользователю включать несколько "." Смотрите JoeyRAответ для реальных чисел.

попробуйте это:

weightInput.setInputType(InputType.TYPE_CLASS_NUMBER);          
weightInput.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);           
weightInput.setKeyListener(DigitsKeyListener.getInstance(false,true));

public static DigitsKeyListener getInstance (boolean sign, boolean decimal) 

возвращает DigitsKeyListener, который принимает цифры от 0 до 9, плюс знак минус (только в начале) и/или десятичную точку (только один на поле), если указано.

это решит проблему о многих.'in EditText

использовать InputType.TYPE_NUMBER_FLAG_DECIMAL.

Смотрите также: Типы Входов.

для ввода IP-адреса (несколько точек и чисел )

попробовать

<EditText
    android:id="@+id/ipBox"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="@string/ipAddrHint"
    android:inputType="numberDecimal|number"
    android:digits="0123456789."
    android:textSize="30sp" />

Comments

    Ничего не найдено.