edittext回車鍵監聽

軟鍵盤的Enter鍵默認顯示的是“《--”文本,我們知道按Enter建表示前置工作已經準備完畢了,要去什麼什麼啦。比如,在一個搜索中,我們輸入要搜索的文本,然後按Enter表示要去搜索了,但是默認的Enter鍵顯示的是“完成”文本,看着不太合適,不符合搜索的語義,如果能顯示“搜索”兩個字或者顯示一個表示搜索的圖標多好。

Android也爲我們提供的這樣的功能。通過設置EditText的android:imeOptions屬性來改變默認的“完成”文本。這裏舉幾個常用的常量值:

actionUnspecified  未指定,對應常量EditorInfo.IME_ACTION_UNSPECIFIED
actionNone 沒有動作,對應常量EditorInfo.IME_ACTION_NONE
actionGo 去往,對應常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,對應常量EditorInfo.IME_ACTION_SEARCH
actionSend 發送,對應常量EditorInfo.IME_ACTION_SEND
actionNext 下一個,對應常量EditorInfo.IME_ACTION_NEXT
actionDone 完成,對應常量EditorInfo.IME_ACTION_DONE


軟鍵盤Enter鍵事件處理

捕獲EditText軟鍵盤Enter鍵事件方法:

EditText.setOnKeyListener(this);



下面通過代碼來演示一下具體如何處理

[java] view plain copy
 在CODE上查看代碼片派生到我的代碼片

  1.         et_search.setOnKeyListener(this);  

[java] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. @Override  
  2.     public boolean onKey(View v, int keyCode, KeyEvent event) {  
  3.         if(keyCode == KeyEvent.KEYCODE_ENTER){    
  4.             userInput = et_search.getText().toString();  
  5.               
  6.             if(TextUtils.isEmpty(userInput)){  
  7.                 LogUtil.e(TAG, "IME_ACTION_SEARCH input is null");  
  8.                 return true;  
  9.             }  
  10.               
  11.             userInput = userInput.trim();  
  12.               
  13.             doSearch(userInput);  
  14.               
  15.             return true;  
  16.         }  
  17.         return false;  
  18.     } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章