android - 按下放大镜时如何调用onSearchRequested

标签 android search

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

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

这两个我都试过了,但没用。

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

向搜索 View 添加监听器也不起作用

searchView.setOnSearchClickListener(new OnClickListener() {

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

    }
});

在此先感谢您的帮助。

最佳答案

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;
    }
});

关于android - 按下放大镜时如何调用onSearchRequested,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619363/

相关文章:

android - 将人行横道添加到我的 cordova-polymer 项目中

java - 无法更新 fragment 中 onActivityResult 的 View

android - mapviewballoon - 添加多个标记时如何设置缩放

android - 面对 kotlin Dagger 2 的问题

search - 如何强制对Elasticsearch “terms”查询进行not_analyzed

active-directory - 如何在System.DirectoryServices.Protocols中放弃长时间运行的搜索

android - 设置文本并从剪贴板获取文本

sql - MySQL ORDER BY 关键字匹配

java - Solr 多核搜索

php - 页面刷新后 Laravel 搜索功能崩溃