I have android listview whose content is changed depending on the filters specified

enter image description here

One of the filters

I have two menu filters in addition to the search that can be applied on these filtered results. The search is invoked through the search button so it is ok for now but the annoying part results from the filters. For example , the user wants the result to be filtered by "Scheduled" , "Started" so he checke the scheduled box but the menu closes on him and disappears and the data is updated so he has to reopen it to select "Started".

I wonder what is the best scenario to handle this ? Is adding a new button a good option. Can I prevent the menu from closing for example ? Should I add a new item under "All" with an icon so it can be treated as apply button.

4 Answers 4


Interesting question. If your user expects to perform more than one action on the filter box then auto closing should be avoided. Here is a related article in Smashing Magazine. Although the screenshots they have provided are somewhat dated, I would suggest the filter drawer as a concept. On closing of such a drawer data can refresh according to new filter values.

Also on a related note, the search and filtering being on the same bar is a little confusing. I am not getting the flow clearly. You might want to revisit that.

This reminds me of Android CyanogenMod ROM. Here is an android quick settings pane which comes if you swipe down from the right side of the notification tray. CynogenMod had to introduce a setting to allow user to auto close or persist the tray when user takes an action. It is that annoying when the tray closes on you. :). Just remembered.

  1. Decide if you really need to auto-hide the menu on selection. It can remain open till the user starts typing (afresh or again, however) and the results(suggestions or actual query) can takeover later when the user is typing.

  2. Try placing the options horizontally, if one line is not enough use two levels

  3. Look again if you really need all those options. As i have seen many of times you don't need to select/specify a category to search in.

    Also, I'm on mobile device right now so can't give proper examples, specially for the third point.


Generally, when you can select multiple filters in an application, it is necessary to place the Apply button for clarity.

With multiple filters, using the onItemSelectedListener is a bad idea since as you mentioned, it will close on the user and will not work accordingly as per user expectation.

I would recommend having a smooth transition and sliding up another Activity for filters if you plan on adding more filters in your app. Using a slide up transition for Filters and slide down after Apply will create the illusion of being on a sub-activity rather than a whole another activity and will provide a flow.

Here's an example of how Zomato does it.




Observe how the Apply button appears when the Filter is selected and not before. This makes the user aware that he is needed to tap on Apply for these filters to be applied.

A new activity also creates a lot of space if you need to add more filters later in your app.

  • I disagree. An applybutton leads to me changing the filters, pressing the back button, realising the filters did not apply and then selecting them again. In my opinion, a checkbox is something, that indicates an immediate change and therefore does not need to be applied. I would let the user select the filters and when he presses the back button, apply the changes Mar 16, 2017 at 14:58

I am agree with Tom, and want to tell a bit more: to my mind people love to see how the filters works, and if you have not too much filters, place its to scrollable horisontal line, and its have to change color on pressed state. When any filter chosen - result list will automatically rebuild.


  • Could you rephrase this? It's a little hard to understand.
    – Mayo
    Apr 15, 2017 at 20:38
  • Replied with picture in the main thread
    – Vadim Bond
    Apr 15, 2017 at 21:09
  • 1
    If you want to expand on your post then please just edit it to add more details. This isn't a forum with threads - it's a Q&A site with one question and different specific attempts at answering it. Please take the tour for more info on this site. For now I've added your image from your other answer into this post.
    – JonW
    Apr 15, 2017 at 22:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.