按下放大镜时如何调用onSearchRequested

时间:2012-09-27 10:32:36

标签: android search

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

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

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

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

向搜索视图添加侦听器无效

searchView.setOnSearchClickListener(new OnClickListener() {

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

    }
});

提前感谢您的帮助。

1 个答案:

答案 0 :(得分: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;
    }
});