我的应用程序中有一个EditText小部件,我已将其设置为只读,并且我想知道用户何时长按。如果用户点击此小部件,我不希望虚拟键盘弹出。如何在EditText Widget上长按时防止虚拟键盘显示?
要停止从出现的虚拟键盘,我使用的是这样的:
的EditText文本=(EditText上)findViewById(R.id.editText01); editText.setClickable(false);
这有效,但如果我使用OnLongClickListener(),则无法获得任何长按消息。
有谁知道我可以如何防止弹出键盘出现,但仍然得到长按事件?
谢谢。
编辑:我实际上尝试了提供给这个问题的前两个答案,都没有工作。我最终什么事做,是为小部件的EditText我用下面的:
editText.setInputType(InputType.TYPE_NULL);
editText.setCursorVisible(false);
editText.setOnLongClickListener(mOnLongClickListener);
的setInputType()方法调用关闭点击的小部件。 setOnLongClickListener()例程将处理小部件上的所有长按事件,并且我从基本上消耗长按事件的例程返回一个true。因此,我现在有一个EditText小部件,按下时不会出现虚拟键盘弹出窗口,但长按这个小部件将会调用我的侦听器方法。