我以前使用 ActionBarSherlock,但现在我正在使用 appCompat 将我的所有应用程序移动到 Material Theme。我在下面的代码中收到 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()。
关于android - 在 Android 中使用 appCompat 时,Menu 和 MenuItem 的正确导入是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792199/