首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android listview: adapter.add(项目)?或adapter.notifyDataSetChanged()

android listview: adapter.add(项目)?或adapter.notifyDataSetChanged()
EN

Stack Overflow用户
提问于 2013-09-20 11:59:48
回答 1查看 8.9K关注 0票数 6

当我使用listview时,我扩展了ArrayAdapter,并将数据(一个列表)存储在ArrayAdapter中,因此当数据发生变化时,我调用:

代码语言:javascript
复制
adapter.add(item).;

还有另一种选择,将数据存储在我的列表中,当数据发生变化时,调用MyAdapter.java:

代码语言:javascript
复制
 listView.setAdapter(adapter);
 adapter.notifyDataSetChanged();

哪一个是最好的选择?

EN

回答 1

Stack Overflow用户

发布于 2013-09-20 12:22:12

当然,adapter.add(item);之后调用notifyDataSetChanged()是更好的方法,而不是初始化新的适配器并再次设置它。但只有当我们使用相同的列表并添加或删除某些元素时,它才会起作用。当我们更改整个列表时,它将不起作用,此时我们应该使用list.addall(nList)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18908581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档