我在ActionBar中有一個searchView。我想在用戶完成輸入時關閉鍵盤。我曾在上搜索查看以下queryTextListener如何在Android SearchView中關閉鍵盤?
final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
// Do something
return true;
}
@Override
public boolean onQueryTextSubmit(String query) {
showProgress();
// Do stuff, make async call
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
return true;
}
};
基於類似的問題,下面的代碼應該駁回鍵盤,但它並沒有在這種情況下工作:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
我也試過:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), 0);
兩者都不工作。我不確定這是否是Honeycomb特定的問題,或者它是否與ActionBar中的searchView相關,或者兩者都有關係。有沒有人得到這個工作,或知道爲什麼它不工作?
是'query''在''onCreateOptionsMenu''定義其中'? –
..這是在別處定義的查詢字符串。我會編輯它。該行也不是必需的,只有在您想要預先填充查詢時,第二個參數(false)纔會停止運行查詢。 – bkurzius
非常感謝! searchView.clearFocus()是我到目前爲止丟失的部分 – satyadeepk