OnCreate我这样做:

incidentItem = new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1));
navDrawerItems.add(incidentItem);


和在

onPostExecute

incidentItem = new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1), true, "10");
adapter.notifyDataSetChanged();


它不起作用,没有错误,没有更新。

最佳答案

假设navDrawerItemsCollection

在您的onCreate方法中,创建一个新的NavDrawerItem,并将对其的引用存储在navDrawerItems集合中。

在您的onPostExecute方法中,创建另一个新的NavDrawerItem,并且对引用不执行任何操作。您调用notifyDataSetChanged(),但是适配器仍然具有对旧NavDrawerItem的引用。

您要在onPostExecute中执行的操作是:


检索原始引用(例如navDrawerItems.get(0)),并更新其中的数据;
要么
删除原件,然后像以前一样添加新参考。

10-07 14:11