I have some code that sets a boolean if the search view is open or not.
MenuItemCompat.setOnActionExpandListener(action_search, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item){
isSearch = true;
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item){
isSearch = false;
return true;
}
});
It works. I'm happy with the way it responds. However, it it shows as deprecated, the setOnActionExpandListener is crossed out with the warning
android.support.v4.view.MenuItemCompat.setOnActionExpandListener is deprecated
Suggestions?
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 action view
is expanded or collapsed. The menu item
must be configured to expand or collapse its action view
using the flag SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
.
SAMPLE CODE
MenuItem item = menu.findItem(R.id.action_order);
item.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
isSearch = true;
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem menuItem) {
isSearch = false;
return true;
}
});
This interface was deprecated in API level 26.1.0.
Instead of MenuItemCompat.OnActionExpandListener
Use MenuItem.OnActionExpandListener
directly.
Official Documentation
Sample:
MenuItem menuItemSearch = menu.findItem(R.id.action_search);
menuItemSearch.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
isSearch = true;
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem menuItem) {
isSearch = false;
return true;
}
});
Bonus
setting OnQueryTextListener
and OnCloseListener
MenuItem menuItemSearch = menu.findItem(R.id.action_search);
final SearchView searchView = (SearchView) menuItemSearch.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
//Do something
return false;
}
@Override
public boolean onQueryTextChange(String s) {
return false;
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
// do something
return false;
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With