在輸入框中加入android:imeOptions="actionSearch",調用軟鍵盤時,回車鍵就會顯示搜索二字。
我想在點擊搜索時,跳轉到下一個頁面,但是調用setOnKeyListener,每次都執行兩次。最後上網看到別人的文章,解決了問題,解決方法是調用setOnEditorActionListener而不是用setOnKeyListener來監聽點擊搜索按鈕。
代碼如下(在fragment中寫的,在activity中寫的時候去掉context相關的東西就行了):
searchText.setOnEditorActionListener(new
OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId ==EditorInfo.IME_ACTION_SEARCH){
// 先隱藏鍵盤
((InputMethodManager) searchText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(
getActivity()
.getCurrentFocus()
.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
//跳轉activity
Intent intent = new Intent();
intent.setClass(getActivity(), SearchResultActivity.class);
startActivity(intent);
// 將查詢的數據插入數據庫
mDbHelper.insert_search_history(searchText.getText().toString(), getStringDate());
return true;
}
return false;
}
});