我正在使用searchView并尝试在有人调用搜索时传递一些数据.所以我覆盖了onSearchReqested方法.问题是,当有人在SearchView中键入并按下键盘上的放大镜时,不会调用此方法.而是启动结果活动.
当有人按下放大镜时,如何在开始结果活动之前调用onSearchRequested方法.
我尝试了这两个但它没有用.
@H_404_6@@Override public boolean onKeyDown(int keyCode,KeyEvent event) { if (keyCode == KeyEvent.FLAG_EDITOR_ACTION) { onSearchRequested(); return false; } return false; }向searchview添加一个监听器也不起作用
@H_404_6@searchView.setOnSearchClickListener(new OnClickListener() { @Override public void onClick(View v) { onSearchRequested(); } });在此先感谢您的帮助.
解决方法
setOnQueryTextListerner终于奏效了
@H_404_6@searchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
onSearchRequested();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
// TODO Auto-generated method stub
return false;
}
});