I have a list section in an Android app that includes a search functionality with filters (e.g. country, city, etc...), each filter takes you to a different activity that has a list of countries/cities/etc..., there are 2 buttons (Search and Clear All) other than the back button in the header and hardware back key.
My question is about the behavior of the buttons, when the user searches for a criteria and hits Search, the result in the list will be refreshed. When he goes back for a second search, the criteria he already picked will be selected. If he clicks Clear All but doesn't choose any new criteria and hits the back button, should the list be refreshed with the empty criteria like a reset or should that only happen when the user explicitly clicks on Search to confirm it?
I personally consider the back button as a cancel action, but others seem to think the opposite.
In your case, if the user doesn't select anything and presses back, then According to me it should not refresh with empty criteria. As far as I have seen in the mobile apps, the selections refresh the content as soon as they are selected.
For eg: If you have checkboxes, and the user checks any of them, it refreshes the content.. The user unchecks it, it refreshes the content again. So there can be two ways to go about it.
Either do it dynamically as soon as the user selects a value, which I think is not the way you would prefer because you have to go a separate screen for results and switching between screens every time is very bad idea.
Use the apply button. If the Apply button is there, the user is sure that he has to tap on that to get updated results. After selecting the multiple criteria, he has to tap apply to make them work.
"heyy, last time it worked clicking on back, without selection, it should try with selections too"
. So I think, it should be the Apply button that you should use.