EditText:抑制软键盘但允许选择和光标?

时间:2015-06-03 22:02:00

标签: android android-edittext android-softkeyboard

我想显示一个EditText,主要是通过选择部分来编辑,然后按按钮插入新值。 (这些值是长十六进制字符串,我不希望用户输入。)因此,除非用户故意调用,否则我想抑制软键盘的显示。

This question描述了几乎完全相同的要求,但accepted answer在Android 5.1上无效。当输入模式更改为InputType.TYPE_NULL时,EditText将禁用所有编辑功能,而不仅仅是软键盘。没有光标,没有点击拖动选择等等。

this answer中的建议覆盖onCheckIsTextEditor()的行为方式相同。

有没有办法在Android 5上实现这个目标?

1 个答案:

答案 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)保护调用本身。