Menuitemcompat.setonactionexpandlistener Deprecated
I have some code that sets a boolean if the search view is open or not. MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {
Solution 1:
android.support.v4.view.MenuItemCompat.setOnActionExpandListeneris deprecated
Yes MenuItemCompat.setOnActionExpandListener This method was deprecated in API level 26.1.0.
Suggestions?
Use MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener) directly.
MenuItemCompat.OnActionExpandListeneron this menu item to be notified when the associated actionviewis expanded or collapsed. Themenu itemmust be configured to expand or collapse its actionviewusing the flagSHOW_AS_ACTION_COLLAPSE_ACTION_VIEW.
SAMPLE CODE
MenuItem item = menu.findItem(R.id.action_order);
item.setOnActionExpandListener(newMenuItem.OnActionExpandListener() {
@OverridepublicbooleanonMenuItemActionExpand(MenuItem menuItem) {
isSearch = true;
returntrue;
}
@OverridepublicbooleanonMenuItemActionCollapse(MenuItem menuItem) {
isSearch = false;
returntrue;
}
});
Solution 2:
This interface was deprecated in API level 26.1.0.
Instead of MenuItemCompat.OnActionExpandListener
Use MenuItem.OnActionExpandListener directly.
Sample:
MenuItem menuItemSearch = menu.findItem(R.id.action_search);
menuItemSearch.setOnActionExpandListener(newMenuItem.OnActionExpandListener() {
@OverridepublicbooleanonMenuItemActionExpand(MenuItem menuItem) {
isSearch = true;
returntrue;
}
@OverridepublicbooleanonMenuItemActionCollapse(MenuItem menuItem) {
isSearch = false;
returntrue;
}
});
Bonus
setting OnQueryTextListener and OnCloseListener
MenuItem menuItemSearch = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) menuItemSearch.getActionView();
searchView.setOnQueryTextListener(newSearchView.OnQueryTextListener() {
@OverridepublicbooleanonQueryTextSubmit(String s) {
//Do somethingreturnfalse;
}
@OverridepublicbooleanonQueryTextChange(String s) {
returnfalse;
}
});
searchView.setOnCloseListener(newSearchView.OnCloseListener() {
@OverridepublicbooleanonClose() {
// do somethingreturnfalse;
}
});
Post a Comment for "Menuitemcompat.setonactionexpandlistener Deprecated"