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;
}
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM