为了账号安全,请及时绑定邮箱和手机立即绑定

Android系统。notifyDataSetChanged()方法和ListViews如何工作?

Android系统。notifyDataSetChanged()方法和ListViews如何工作?

慕田峪7331174 2019-08-26 14:07:38
Android系统。notifyDataSetChanged()方法和ListViews如何工作?我试图理解这个ListView概念及其工作原理,我正在尝试创建自己的扩展适配器BaseAdapter。对于ArrayAdapter例如,有notifyDataSetChanged()你已经更新了其持有的所有数据数组列表后,为了刷新应该被调用的方法ListView。但我正在创建自己的子类BaseAdapter。那种方法对我来说不可用,或者是吗?我该如何实现这种方法?基本上,这种方法究竟做了什么,也许我会理解的。如果ArrayAdapter我猜测它会查看ListView当前显示的位置,并检查它是否与ArrayList更新后的位置相同?要么...它说的方法:通知附加的观察者基础数据已被更改,反映数据集的任何视图都应自行刷新。但它究竟是如何刷新自己的呢?有人可以解释一下吗?
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

当您BaseAdapter为自己创建子类进行扩展时,您也将获得notifyDataSetChanged()方法。


查看完整回答
反对 回复 2019-08-26
?
慕容708150

TA贡献1831条经验 获得超4个赞

假设您ListView显示存储在的一些数据ArrayList

更改内容后ArrayList,您需要告诉列表数据源已更改,并且需要重绘自身以显示新数据。

所以,这就是它的notifyDatasetChanged()用武之地。它告诉ListView我们数据已被修改; 要显示新数据,ListView必须重新绘制。


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 423 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号