Android 在BaseAdapter中使用InvalidateOptions功能表

Android 在BaseAdapter中使用InvalidateOptions功能表,android,baseadapter,Android,Baseadapter,我在网上搜索了答案,但没有找到我需要的解决方案。我的问题是如何重新创建菜单以更新BaseAdapter中的购物车计数图标。我现在正在使用的应用程序是一个计算用户订购物品数量的应用程序,它还包含物品类别。当我返回到显示类别的活动时,购物车会更新,但我无法在我的项目适配器中进行更新。代码非常简单 该行位于订购项目的末尾 setNotifCount(db.getCartCount()); 这就是函数 private void setNotifCount(int count){ mN

我在网上搜索了答案,但没有找到我需要的解决方案。我的问题是如何重新创建菜单以更新BaseAdapter中的购物车计数图标。我现在正在使用的应用程序是一个计算用户订购物品数量的应用程序,它还包含物品类别。当我返回到显示类别的活动时,购物车会更新,但我无法在我的项目适配器中进行更新。代码非常简单

该行位于订购项目的末尾

setNotifCount(db.getCartCount());
这就是函数

private void setNotifCount(int count){
         mNotifCount = count;
         invalidateOptionsMenu();
}

它表明,InvalidateOptions菜单;是一个错误,因为它无法解析该方法。我尝试使用ActivityCompat.InvalidateOptions功能表,但它也会抛出一个NPE

不能调用InvalidateOptions菜单,因为基本适配器中没有此类方法。您可以做的是将活动作为上下文传递给基本适配器,并按如下方式调用

        ((YourActivity)context).invalidateOptionsMenu();

当您在类而不是对象上调用InvalidateOptions菜单时,也将通过NPE调用ActivityCompat.InvalidateOptions菜单。

您不能调用InvalidateOptions菜单,因为基本适配器中没有此类方法。您可以做的是将活动作为上下文传递给基本适配器,并按如下方式调用

        ((YourActivity)context).invalidateOptionsMenu();
在类而不是对象上调用InvalidateOptions菜单时,也会通过NPE调用ActivityCompat.InvalidateOptions菜单