如何从asynctask更新导航抽屉项目?

时间:2014-04-17 20:59:30

标签: java android android-asynctask navigation-drawer

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();

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

1 个答案:

答案 0 :(得分:1)

假设navDrawerItemsCollection

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

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

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

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