Set edittext using only “,0123456789” programmatically in Android?

允我心安 提交于 2019-12-04 23:29:17

try customEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

EditText ed;
ed.setInputType(InputType.TYPE_CLASS_NUMBER);

also docs may help

cutiko

According to the Android documentation TYPE_NUMBER_FLAG_DECIMAL should work http://developer.android.com/reference/android/text/InputType.html

However it doesn't, if you use only TYPE_NUMBER_FLAG_DECIMAL the user will be able to input letters as well.

But by our luck, Haresh Chaudhary, provide the correct answer, both must be use, TYPE_CLASS_NUMBER and also TYPE_NUMBER_FLAG_DECIMAL. I try hes solution and It worked.

Allthough I used setInputType instead of setRawInput:

yourEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
Aswin Kumar

Did you try customEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER)?

Reference: InputType

Try to add android:inputType="number" in the xml layout to your EditText (link)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!