Java 如何从asynctask更新导航抽屉项?
Java 如何从asynctask更新导航抽屉项?,java,android,android-asynctask,navigation-drawer,Java,Android,Android Asynctask,Navigation Drawer,OnCreateI确实: incidentItem = new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)); navDrawerItems.add(incidentItem); 而且 onPostExecute: incidentItem = new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1), true, "10")
OnCreate
I确实:
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
是集合
在onCreate
方法中,创建一个新的NavDrawerItem
,并将对它的引用存储在navDrawerItems
集合中
在onPostExecute
方法中,创建另一个新的NavDrawerItem
,并且对引用不做任何操作。您可以调用notifyDataSetChanged()
,但适配器仍然具有对旧NavDrawerItem
的引用
您希望在onPostExecute
中执行以下操作之一:
- 检索原始引用,例如
navDrawerItems.get(0)
,并更新其中的数据
或
- 删除原始引用,然后添加新引用,与前面一样
如果我再次添加它navDrawerItems.add(incidentItem)代码>它会将它添加到底部很好的解释,我希望你能添加一些代码,我不知道如何处理这个问题。我需要添加哪部分?您是否在适配器的“我的问题”部分(不是getview方法)中看到了代码,以及如何处理navdraweritems?