android設置軟鍵盤搜索鍵以及監聽搜索鍵點擊時發生兩次事件的問題解決

在輸入框中加入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;
           }
});

發佈了39 篇原創文章 · 獲贊 46 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章