我一直在尝试通过执行以下操作来更新列表视图的最后一个元素
mNavTitles.remove(last_position); //mNavTitles is an ArrayList<string>
mNavTitles.add("Notifications Disabled");
((BaseAdapter)mDrawerList.getAdapter()).notifyDataSetChanged();
然而,这不起作用。如果我选择单独添加或删除,这可以正常工作。为什么我不能通过删除然后添加来更新我的列表?如果这不可能,我将如何以最简单的方式更新它?我已经看到了涉及重新创建整个数组列表的解决方案,但我真的不明白为什么在添加和删除这两个工作时都需要这样做。
编辑,更多背景:
这是在导航抽屉中的onitemclick监听器内部发生的。当单击最后一个导航项时,应该更新项目的标题文本。我无法更新onclick,只需添加xor删除列表项。
答案 0 :(得分:0)
mNavTitles.set(index-number,“new value”);
例如,如果您想更新arraylist中的第5个元素。你应该尝试按照
mNavTitles.set(5,“新值”);