Набор Цифр EditText Программно
Я по существу пытаюсь установить значение цифр EditText программно. Пока у меня есть:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
это нормально, но я также хочу иметь возможность включать десятичное число (.). Есть идеи?
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