如何获得进入搜索的操作栏为字符串文本? [英] How to get the text entered in search in action bar to a string?

查看:94
本文介绍了如何获得进入搜索的操作栏为字符串文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建与搜索行动吧。 我能够创造的搜索栏。我怎样才能在字段中输入字符串文本?有没有什么好的code与搜索行动起来吧?

我所做的就是

  SearchManager searchManager =
           (SearchManager)getSystemService(Context.SEARCH_SERVICE);
    搜索查看搜索查看=
            (搜索查看)menu.findItem(R.id.menu_search).getActionView();



    意向意图= getIntent();
    如果(Intent.ACTION_SEARCH.equals(intent.getAction())){
      字符串搜索= intent.getStringExtra(SearchManager.QUERY);
 

解决方案

您可以使用搜索栏是这样的。

  @覆盖
公共布尔onCreateOptionsMenu(功能菜单){
    。getSupportMenuInflater()膨胀(R.menu.main,菜单);

    SearchManager searchManager =(SearchManager)getSystemService(Context.SEARCH_SERVICE);
    搜索查看搜索查看=(搜索查看)menu.findItem(R.id.menu_search)
            .getActionView();
    如果(NULL!=搜索查看){
        sea​​rchView.setSearchableInfo(searchManager
                .getSearchableInfo(getComponentName()));
        sea​​rchView.setIconifiedByDefault(假);
    }

    SearchView.OnQueryTextListener queryTextListener =新SearchView.OnQueryTextListener(){
        公共布尔onQueryTextChange(字符串newText){
            //这是你的适配器将被过滤掉
            返回true;
        }

        公共布尔onQueryTextSubmit(查询字符串){
            //这里u能得到它输入到搜索框中的值查询。

        }
    };
    sea​​rchView.setOnQueryTextListener(queryTextListener);

    返回super.onCreateOptionsMenu(菜单);
}
 

I am trying to create an action bar with search. I am able to create the search bar. How I can get the text entered in the field to string? Is there any good code for action bar with search?

What I done is

SearchManager searchManager =
           (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView =
            (SearchView) menu.findItem(R.id.menu_search).getActionView();



    Intent intent = getIntent();
    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
      String search = intent.getStringExtra(SearchManager.QUERY);

解决方案

You can use the search bar as like this.

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.main, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.menu_search)
            .getActionView();
    if (null != searchView) {
        searchView.setSearchableInfo(searchManager
                .getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(false);
    }

    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
        public boolean onQueryTextChange(String newText) {
            // this is your adapter that will be filtered
            return true;
        }

        public boolean onQueryTextSubmit(String query) {
            //Here u can get the value "query" which is entered in the search box.

        }
    };
    searchView.setOnQueryTextListener(queryTextListener);

    return super.onCreateOptionsMenu(menu);
}

这篇关于如何获得进入搜索的操作栏为字符串文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆