在 Android 中使用 appCompat 时,Menu 和 MenuItem 的正确导入是什么?
What's the correct import of Menu and MenuItem when using appCompat in Android?
我以前使用 ActionBarSherlock,但现在我正在使用 appCompat 将我所有的应用程序移动到 Material 主题。我在下面的代码中收到 UnsupportedOperationException:
MenuItem num = (MenuItem) menu.findItem(R.id.num);
num.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
//wow
}
我收到以下错误:
java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.internal.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:740)
那么遇到这种情况我该怎么办呢?我的 Menu 和 MenuItems 应该从其他包导入吗?或者我只需要将不同的 all 与 MenuCompat 和 MenuItemCompat 一起使用。谢谢
方法setOnActionExpandListener仅在API 14级中添加。因此您不能安全使用它,因为它在低于14的API级中不存在。
在您的情况下,根据错误消息的建议,您应该使用 MenuItemCompat.setOnActionExpandListener()。
我以前使用 ActionBarSherlock,但现在我正在使用 appCompat 将我所有的应用程序移动到 Material 主题。我在下面的代码中收到 UnsupportedOperationException:
MenuItem num = (MenuItem) menu.findItem(R.id.num);
num.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem menuItem) {
//wow
}
我收到以下错误:
java.lang.UnsupportedOperationException: This is not supported, use MenuItemCompat.setOnActionExpandListener()
at android.support.v7.internal.view.menu.MenuItemImpl.setOnActionExpandListener(MenuItemImpl.java:740)
那么遇到这种情况我该怎么办呢?我的 Menu 和 MenuItems 应该从其他包导入吗?或者我只需要将不同的 all 与 MenuCompat 和 MenuItemCompat 一起使用。谢谢
方法setOnActionExpandListener仅在API 14级中添加。因此您不能安全使用它,因为它在低于14的API级中不存在。
在您的情况下,根据错误消息的建议,您应该使用 MenuItemCompat.setOnActionExpandListener()。