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.setOnActionExpandListener
is deprecated
Yes MenuItemCompat.setOnActionExpandListener
This method was deprecated in API level 26.1.0.
Suggestions?
Use MenuItem.setOnActionExpandListener(MenuItem.OnActionExpandListener)
directly.
MenuItemCompat.OnActionExpandListener
on this menu item to be notified when the associated actionview
is expanded or collapsed. Themenu item
must be configured to expand or collapse its actionview
using 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"