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();
它不起作用,没有错误,没有更新。
最佳答案
假设navDrawerItems
是Collection
。
在您的onCreate
方法中,创建一个新的NavDrawerItem
,并将对其的引用存储在navDrawerItems
集合中。
在您的onPostExecute
方法中,创建另一个新的NavDrawerItem
,并且对引用不执行任何操作。您调用notifyDataSetChanged()
,但是适配器仍然具有对旧NavDrawerItem
的引用。
您要在onPostExecute
中执行的操作是:
检索原始引用(例如navDrawerItems.get(0)
),并更新其中的数据;
要么
删除原件,然后像以前一样添加新参考。