EditText.setInputType和setRawInputType有什么区别。
我有一个应该允许所有字符的字段,但是我有一个模式按钮,可以在数字键盘和字母键盘之间切换。
因此,在数字键盘为“零件号”搜索模式时,我希望使用数字键盘,而在数字键盘是“描述”搜索模式时,则为字母键盘。
Android OS 2.2或更高版本。
最佳答案
setRawInputType()
通常在初始化 View 时,在自定义 View 的构造函数中或在 Activity 的onCreate()
方法等中使用。这与使用XML属性android:inputType
设置inputType相同。例如:
setContentView(R.layout.main);
mEditText = (EditText) findViewById(R.id.edit_text);
mEditText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
...
根据您的情况更改为编辑器显示的软键盘的模式
您必须立即调用
setInputType()
,它也需要重新启动软键盘。setInputType(InputType.TYPE_CLASS_NUMBER)
将键盘布局更改为数字文本setInputType(InputType.TYPE_CLASS_TEXT)
将键盘布局更改为普通文本