Whenever a user presses the search button and the SearchView component is shown, it goes back to the button MenuItem once a query is submitted.

However, when a user press the Back key, only the keyboard is hidden but the SearchView component is still visible. If you press the Back key again, one would expect the SearchView to be iconified but the app exits instead.

The workaround for this is to add an OnFocusChangeListener to the SearchView component. Whenever the keyboard gets shown and hidden, the onFocusChange() method gets called.

Here is the code:

You only need to set 2 lines of code in order for the SearchView to be reset to its iconified state.

These are:

The first line empties the EditText field while the second line hides the SearchView component and shows the MenuItem icon back.

That’s all!

Related Posts Plugin for WordPress, Blogger...