rya*_*dlf 79 android android-edittext
我本质上是尝试以编程方式设置EditText的数字值.到目前为止,我有:
weightInput.setInputType(InputType.TYPE_CLASS_PHONE);
weightInput.setKeyListener(DigitsKeyListener.getInstance());
Run Code Online (Sandbox Code Playgroud)
这很好,但我也希望能够包含小数位(.).有任何想法吗?
Whi*_*ler 182
试试这个:
<EditText
android:inputType="number"
android:digits="0123456789."
/>
Run Code Online (Sandbox Code Playgroud)
来自代码:
weightInput.setKeyListener(DigitsKeyListener.getInstance("0123456789."));
Run Code Online (Sandbox Code Playgroud)
但是,它允许用户包含几个"." 请参阅JoeyRA对实数的回答.
小智 29
试试这个:
weightInput.setInputType(InputType.TYPE_CLASS_NUMBER);
weightInput.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
weightInput.setKeyListener(DigitsKeyListener.getInstance(false,true));
Run Code Online (Sandbox Code Playgroud)
public static DigitsKeyListener getInstance (boolean sign, boolean decimal)
Run Code Online (Sandbox Code Playgroud)
返回一个DigitsKeyListener,它接受数字0到9,加上减号(仅在开头)和/或小数点(每个字段只有一个),如果指定的话.
这解决了很多'''的问题.在EditText中
如果有人仍然找到正确的方法,请注意它setRawInputType()
不是setInputType()
val digits = "ABCDabcd" // or any characters you want to allow
editText.keyListener = DigitsKeyListener.getInstance(digits)
editText.setRawInputType(InputType.TYPE_TEXT_VARIATION_PERSON_NAME)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
63062 次 |
最近记录: |