ListView.invalidateViews()和Adapter.notifyDataSetChanged()有什么区别吗? 最佳答案 是的,有。ListView.invalidateViews()用于告诉ListView使其所有子项View无效(重绘它们)。请注意,View数不必与项目数相等。这是因为ListView会回收其项目View并在您滚动时以智能方式在屏幕上移动它们。Adapter.notifyDataSetChanged()另一方面,是告诉适配器的观察者正在适配的内容发生了变化。通知数据集更改将导致ListView再
ListView.invalidateViews()和Adapter.notifyDataSetChanged()有什么区别吗? 最佳答案 是的,有。ListView.invalidateViews()用于告诉ListView使其所有子项View无效(重绘它们)。请注意,View数不必与项目数相等。这是因为ListView会回收其项目View并在您滚动时以智能方式在屏幕上移动它们。Adapter.notifyDataSetChanged()另一方面,是告诉适配器的观察者正在适配的内容发生了变化。通知数据集更改将导致ListView再
调用invalidateViews()后项目何时重绘?我问是因为我尝试在bg-thread通知图像rsc下载后刷新listItems。但没有任何更新。只有在退出并重新进入后才会绘制新图标。我有一个adapter类型的ActivitySettingValueAdapterextendsBaseAdapter它有一个成员:私有(private)SettingsValue[]值;它有两个有趣的方法:@OverridepublicViewgetView(intposition,Viewview,ViewGroupparent){AddressItemai=(AddressItem)getIte
ListView.invalidate()和ListView.invalidateViews()有什么区别?对我来说,单独使用invalidate()是行不通的。而invalidateViews()的工作方式正是我想要的,即重绘列表项。 最佳答案 根据安卓网页ViewInvalidate,ListView.invalidate()将Invalidatethewholeview.Iftheviewisvisible,onDraw(android.graphics.Canvas)willbecalled这通过onDraw事件重绘Canv