繁体   English   中英

EditText:取消软键盘但允许选择和光标吗?

[英]EditText: suppress soft keyboard but allow selection and cursor?

我想显示一个EditText ,将主要通过选择它的一部分并按按钮插入新值来对其进行编辑。 (这些值是很长的十六进制字符串,我不希望用户键入。)因此,除非用户有意调用它,否则我想禁止显示软键盘。

这个问题几乎描述了完全相同的要求,但是可接受的答案在Android 5.1上不起作用。 当输入模式更改为InputType.TYPE_NULLEditText禁用所有编辑功能,而不仅仅是软键盘。 没有光标,没有单击拖动选择,等等。

按照此答案中的建议重写onCheckIsTextEditor()行为相同。

有什么方法可以在Android 5上完成此操作吗?

这是在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)保护调用本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM