Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I remove popup text from listview filter?

I'm using a text filter on a ListView and I'd like to get rid of the popup view that shows what the filter text is. Is there any way to remove this view?

Some example code:

    ArrayList<String> buildingNames = new ArrayList<String>();
    ListView list = (ListView)findViewById(R.id.list);

    list.setAdapter(new ArrayAdapter<String>(this, R.layout.menu_item, buildingNames));
    list.setTextFilterEnabled(true);

    list.setFilterText("test_filter");

When I set the filter text, a really ugly view pops up at the bottom of the ListView that shows what the current filter text is:

ListView filter text popup

like image 543
hansencj06 Avatar asked Nov 03 '11 17:11

hansencj06


1 Answers

I found the answer here: http://markmail.org/message/7uju6bmmaswag2lu:

By calling setTextFilterEnabled() you do request this popup. If you don't want it, disable text filtering. This is an interactive feature for the user. It is not meant to be used programatically. If you want to programatically filter your adapter, call getFilter() on your adapter directly (if your adapter supports filtering.)

Romain Guy

So rather than using setTextFilterEnabled you need to work with the filter directly like so:

CustomAdapter customAdapter = (customAdapter)myListView.getAdapter();
Filter filter = customAdapter .getFilter();
filter.filter("search string");
like image 78
Chris Nevill Avatar answered Oct 22 '22 21:10

Chris Nevill