我想显示一个EditText
,主要是通过选择部分来编辑,然后按按钮插入新值。 (这些值是长十六进制字符串,我不希望用户输入。)因此,除非用户故意调用,否则我想抑制软键盘的显示。
This question描述了几乎完全相同的要求,但accepted answer在Android 5.1上无效。当输入模式更改为InputType.TYPE_NULL
时,EditText
将禁用所有编辑功能,而不仅仅是软键盘。没有光标,没有点击拖动选择等等。
按this answer中的建议覆盖onCheckIsTextEditor()
的行为方式相同。
有没有办法在Android 5上实现这个目标?
答案 0 :(得分:2)
这是在API 21中添加的:
EditText editText = (EditText) findViewById(R.id.edittext);
editText.setShowSoftInputOnFocus(false);
根据grepcode,此方法已存在,但自版本4.1.1以来已隐藏。因此,您可以注释将其称为@TargetApi(Build.VERSION_CODES.LOLLIPOP)
的方法,并使用if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
保护调用本身。