開發中會遇到這樣的業務要求:點擊搜索框輸入內容時,鍵盤的回車鍵應該是搜索。然後點擊鍵盤的搜索時執行搜索操作。這是怎麼實現的呢?其實很簡單:
1:佈局中
在EditText
中加入以下兩句就可實現鍵盤回車鍵的修改。
android:imeOptions="actionSearch"
android:singleLine="true"
其中android:imeOptions
有多種屬性:
1:默認情況下軟鍵盤右下角的按鈕爲“下一個”,點擊會到下一個輸入框
2:設置 android:imeOptions=”actionDone” ,軟鍵盤下方變成“完成”
3:android:imeOptions=”actionSend” 軟鍵盤下方變成“發送”,點擊後光標移動下一個
上面只是舉幾個例子,還有一些樣式讀者可以自己去嘗試。
現在佈局弄好了(也就是鍵盤的回車鍵默認值修改了),要怎麼監聽這個鍵呢?接下來實現:
2:監聽鍵盤回車鍵
EditText
實現setOnEditorActionListener
,在onEditAction
方法中actionId
就對應我們設置的imeOptions
。系統默認的actionId
有:EditorInfo.IME_NULL
、EditorInfo.IME_ACTION_SEND
、EditorInfo.IME_ACTION_DONE
等。
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Log.i("---","搜索操作執行");
}
return false;
}
});