Reputation: 209
I have a main activity that I can initiate a search and go to searchable activity. I use SearchcView to conduct the search. I also have onDestroy in the main activity.
After a search, when I hit Back button to go back to the main activity, I can still see my search term in the action bar. Apparently the onDestroy doesn't remove that. How can I make the search term go away?
Main Activity
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.all_stores, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
setSubmitButtonEnabled(true);
return true;
}
@Override
public void onDestroy() {
super.onDestroy();
db.close();
}
Thank you.
Upvotes: 2
Views: 580
Reputation: 2129
In onCreateOptionsMenu add,
searchItem = menu.findItem(R.id.action_search);
@Override
public void onBackPressed() {
if(searchItem.isActionViewExpanded())
searchItem.collapseActionView();
else
super.onBackPressed();
}
In your Activity add,
@Override
public void onBackPressed() {
if(searchItem.isActionViewExpanded())
searchItem.collapseActionView();
else
super.onBackPressed();
}
If you want to target lower versions,
MenuItemCompat.collapseActionView(searchItem);
MenuItemCompat.isActionViewExpanded(searchItem);
Upvotes: 3