6

当有人调用搜索时,我正在使用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();

    }
});

在此先感谢您的帮助。

4

1 回答 1

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;
    }
});
于 2012-09-27T18:31:57.463 回答