13
我有一个SearchView。当用户点击键盘搜索按钮时,我需要进行服务器调用。听众的代码是什么样的?我想我必须使用OnClickListener。但知道它是搜索按钮的内部代码,我不知道如何确定。如何收听searchView中的键盘搜索按钮
我有一个SearchView。当用户点击键盘搜索按钮时,我需要进行服务器调用。听众的代码是什么样的?我想我必须使用OnClickListener。但知道它是搜索按钮的内部代码,我不知道如何确定。如何收听searchView中的键盘搜索按钮
我曾经做过这样的
的onQueryTextSubmit
是你正在寻找的方法。
在您的搜索视图中设置setOnQueryTextListener
。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
MenuItem searchItem = menu.findItem(R.id.search_city);
searchView = (SearchView) searchItem.getActionView();
searchView.setQueryHint("Search View Hint");
searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextChange(String newText) {
//Log.e("onQueryTextChange", "called");
return false;
}
@Override
public boolean onQueryTextSubmit(String query) {
// Do your task here
return false;
}
});
return true;
}
希望这有助于
Yay!好吧,你击败了我的回应。我会投票! – 2014-10-10 19:46:19
它发送该KeyEvent#KEYCODE_SEARCH键,以便你能看到的是与onKeyEventListener或活动的dispatchKeyEvent – DeeV 2014-10-10 19:31:52
@DeeV的文档说onKeyEventListener是硬件密钥。如果它同样适用于软键盘,为什么要特别说硬件?无论如何,我会尝试它,因为你说这是答案。 – learner 2014-10-10 19:34:29
@DeeV在提出问题之前,我已经尝试了onEditorActionListener。但是SearchView无法识别它。 – learner 2014-10-10 19:39:32