3
我有一個搜索查看我的佈局(而不是在動作條),我無法用通常的方法來消除鍵盤:安卓:如何以無焦點的一個搜索查看編程
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager)activity
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null && activity != null) {
View currentFocus = activity.getCurrentFocus();
if (currentFocus != null) {
imm.hideSoftInputFromWindow(currentFocus.getWindowToken(), 0);
}
}
}
的搜索查看保持其焦點狀態。在較舊的設備上使用此方法會顯示鍵盤被解散,然後重新顯示。
我認爲問題在於事實上,SearchView實際上是一個View層次結構,它在內部維護自己的狀態。
我該如何解除鍵盤鎖定並將焦點對準SearchView?
這就是當前的代碼片斷。 – Brad
在您發佈的源代碼中,它看起來不像您手動調用clearFocus()。當我看看SearchView的源代碼時,看起來像調用setImeVisibility(這是您要在此修改的內容)和clearFocus是兩個獨立的,這意味着手動清除焦點可能會有所幫助。除此之外,[這個用戶](http://stackoverflow.com/questions/7409288/how-to-dismiss-keyboard-in-android-honeycomb-searchview)也有類似的問題,儘管所有提出的解決方案都需要你失去了你當前公開的通用接口。 – Jonathan
你先生是冠軍。我完全誤解了SearchView的工作方式。謝謝您的幫助。 – Brad