How to get the text entered in search in action bar to a string?

18,694

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);
}
Share:
18,694

Related videos on Youtube

DKV
Author by

DKV

I program in native android. I’m always interested in hearing from interesting creative folk, so feel free to contact me if you’d like to connect.

Updated on September 16, 2022

Comments

  • DKV
    DKV over 1 year

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