如何从Android支持库操作栏SearchView中检索文本?

时间:2014-01-10 20:38:37

标签: android android-support-library searchview android-actionbar-compat

我在操作栏搜索视图中使用Android compat支持库。如何在键入内容后单击键盘上的搜索按钮时添加触发的事件?

到目前为止,我有这个:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_users, menu);

    MenuItem searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

    return super.onCreateOptionsMenu(menu);
}

Google docs page似乎没有告诉我这一点,它只显示如何设置它...
到目前为止,我可以看到搜索图标,当我点击它时,它会显示EditText,我可以输入它,然后如果我点击键盘上的搜索按钮就没有任何反应。我想然后触发一个可以获得该字符串的事件,这样我就能用它做我想做的事 有谁知道怎么做?

2 个答案:

答案 0 :(得分:2)

您需要添加QueryTextListener

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String query) {
        // TODO : query is the text from the search view 
        // after you clicked search
        return true;
    }

    @Override
    public boolean onQueryTextChange(String newText) {
        // TODO : newText is the text from the search view 
        // (event triggered every time the text changes)
        return false;
    }
});

答案 1 :(得分:0)

您应该查看SearchView的文档。

您可以为用户设置提示,获取查询......同时,当有趣的事情发生时,听众会收到通知。

Documentation for SearchView