猿问

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

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

我试图理解这个ListView概念及其工作原理,我正在尝试创建自己的扩展适配器BaseAdapter。对于ArrayAdapter例如,有notifyDataSetChanged()你已经更新了其持有的所有数据数组列表后,为了刷新应该被调用的方法ListView

但我正在创建自己的子类BaseAdapter。那种方法对我来说不可用,或者是吗?我该如何实现这种方法?基本上,这种方法究竟做了什么,也许我会理解的。

如果ArrayAdapter我猜测它会查看ListView当前显示的位置,并检查它是否与ArrayList更新后的位置相同?要么...

它说的方法:

通知附加的观察者基础数据已被更改,反映数据集的任何视图都应自行刷新。

但它究竟是如何刷新自己的呢?

有人可以解释一下吗?


慕田峪7331174
浏览 424回答 3
3回答

心有法竹

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

慕容708150

假设您ListView显示存储在的一些数据ArrayList。更改内容后ArrayList,您需要告诉列表数据源已更改,并且需要重绘自身以显示新数据。所以,这就是它的notifyDatasetChanged()用武之地。它告诉ListView我们数据已被修改; 要显示新数据,ListView必须重新绘制。
随时随地看视频慕课网APP

相关分类

Android
我要回答