如何动态编辑文本字段以仅接受double和float值?
答案 0 :(得分:16)
在您的活动中使用此方法:
EditText et = (EditText) findViewById(R.id.text01);
et.setInputType(0x00002002);
或
EditText et = (EditText) findViewById(R.id.text01) ;
et.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
此处text01
是EditText
文件中R.java
字段的ID;
参考:
http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputType
答案 1 :(得分:4)
也许更好的解决方案是使用
et.setInputType(InputType.TYPE_CLASS_NUMBER
| InputType.TYPE_NUMBER_FLAG_DECIMAL);
编辑:我还添加了标记InputType.TYPE_NUMBER_FLAG_DECIMAL
以接受dobules。
答案 2 :(得分:0)
您还可以使用setInputType(int type)
功能:
EditText e
e.setInputType(InputType.Number) //Many other options are also available
答案 3 :(得分:0)
et.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
其中 setRawInputType 它对应于 android:inputType 属性。