按下放大镜时如何调用onSearchRequested

Che*_*tah 6 search android

我正在使用a searchView并尝试在有人调用搜索时传递一些数据.所以我覆盖了这个onSearchReqested方法.问题是,当有人输入SearchView并按下键盘上的放大镜时,不会调用此方法.而是启动结果活动.

onSearchRequested当有人按下放大镜时,如何在开始结果活动之前调用该方法.

我尝试了这两个但它没有用.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.FLAG_EDITOR_ACTION) {
        onSearchRequested();
        return false;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

向searchview添加一个监听器也不起作用

searchView.setOnSearchClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        onSearchRequested();

    }
});
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

Che*_*tah 11

setOnQueryTextListerner终于奏效了

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;
    }
});
Run Code Online (Sandbox Code Playgroud)