1

我正在使用Android compat支持库进行操作栏搜索视图。如何添加一个事件,当我在键入内容后单击键盘上的搜索按钮时触发?如何从Android支持库操作栏SearchView中检索文本?

到目前为止,我有这样的:

@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,我可以键入它,然后如果我单击键盘上的搜索按钮,则不会发生任何事情。然后,我想要触发一个可以获取该字符串的事件,这样我就可以按照我想要的方式进行操作。
有谁知道如何做到这一点?

回答

0

你应该看看SearchView的文档。

您可以为用户设置提示,获取查询...以及在发生“有趣”事件时通知听众。

Documentation for SearchView

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; 
    } 
}); 
相关问题