我的應用程序中有一個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小部件,按下時不會出現虛擬鍵盤彈出窗口,但長按這個小部件將會調用我的偵聽器方法。