我想構建一個即時搜索視圖,一旦用戶輸入任何內容,它立即在相同的佈局中顯示搜索結果。所以我用谷歌搜索,並決定使用onQueryTextChange來實現。然而,我無法弄清楚如何按照ENTER鍵導致的正常結果「觸發」意圖,告訴我的Activity
有一個事件,即用戶在searchview中輸入了某些內容,並且您(Activity
)應該處理它。Android:如何在使用`OnQueryTextListener`時按下ENTER鍵來啓動搜索意圖?
有幫助嗎?
我想構建一個即時搜索視圖,一旦用戶輸入任何內容,它立即在相同的佈局中顯示搜索結果。所以我用谷歌搜索,並決定使用onQueryTextChange來實現。然而,我無法弄清楚如何按照ENTER鍵導致的正常結果「觸發」意圖,告訴我的Activity
有一個事件,即用戶在searchview中輸入了某些內容,並且您(Activity
)應該處理它。Android:如何在使用`OnQueryTextListener`時按下ENTER鍵來啓動搜索意圖?
有幫助嗎?
如果我明白你的意思,你想辨認KEY_EVENT
(ENTER)。我已經與風格像原來SearchView
定製EditText
結束,然後使用OnEditorActionListener
:
queryEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH ||
(event != null && event.getKeyCode()==KeyEvent.KEYCODE_ENTER)) {
performSearch();
return true;
}
return false;
}
});
SearchView
沒有setOnEditorActionListener
方法,這就是爲什麼我使用的是簡單的EditText
注EditorInfo.IME_ACTION_SEARCH
選項「如果」內,您可以請求使用magnify圖標而不是Enter鍵的「特殊」鍵盤佈局(但請記住,並非所有鍵盤都支持此選項,並且自定義鍵盤應用程序可能會顯示「常規」鍵盤佈局)
android:inputType="text|textNoSuggestions"
android:imeOptions="actionSearch"