J'ai déjà utilisé ActionBarSherlock, mais maintenant je déplace toutes mes applications vers le thème Material en utilisant appCompat. Je reçois un UnsupportedOperationException avec mon code ci-dessous:Quelle est la bonne importation de Menu et MenuItem lors de l'utilisation d'appCompat dans Android?
MenuItem num = (MenuItem) menu.findItem(R.id.num);
num.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
//wow
}
Je reçois une erreur de:
java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.internal.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:740)
Alors, que dois-je faire dans ce cas? Mon Menu et MenuItems doivent-ils être importés d'un autre paquet? Ou dois-je juste utiliser un tout différent avec MenuCompat et MenuItemCompat. Merci
Intéressant. Je l'ai utilisé jusqu'à API 10 avec ABS, je suppose. Je vois à partir du message d'erreur que je devrais utiliser compat, mais tout au long de mon application quelle importation dois-je utiliser? – EGHDK
Chaque fois que vous avez besoin d'utiliser une méthode qui a été ajoutée plus tard à MenuItem, vous devez utiliser les méthodes statiques de MenuItemCompat, en l'important avec 'import android.support.v4.view.MenuItemCompat;'. Les importations de Menu et MenuItem sont les habituelles: 'import android.view.Menu; importez android.view.MenuItem; ' –
Bizarre. Donc, je n'utilise pas MenuCompat et MenuItemCompat dans mon code? Comment puis-je résoudre le problème que j'ai alors avec 'num.setOnActionExpandListener (nouveau MenuItemCompat.OnActionExpandListener() {' – EGHDK