Search code examples
androidfilteringsearchview

live searching on the actionbar's searchView


i was wondering onto how we can implement/ create a list View below the search view widget on the action bar. And finally filter the list when a string is entered just like the one on the Google play store.


Solution

  • SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(true);   
    
        SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() 
        {
            @Override
            public boolean onQueryTextChange(String cs) 
            {
                YourActivity.this.adapter.getFilter().filter(cs);
                YourActivity.this.adapter.setTextToFilter(cs);
                return false;
            }
    
            @Override
            public boolean onQueryTextSubmit(String query) 
            {
                YourActivity.this.adapter.getFilter().filter(query);
                YourActivity.this.adapter.setTextToFilter(query);
                return false;
            }
        };
        searchView.setOnQueryTextListener(textChangeListener);
    

    place this code in oncreateOptionMenu in your activity

    it works only using arrayadapter