gpt4 book ai didi

android - ListView invalidate() 与 invalidateViews() 之间的区别?

转载 作者:太空宇宙 更新时间:2023-11-03 10:18:00 57 4
gpt4 key购买 nike

ListView.invalidate() 和 ListView.invalidateViews() 有什么区别?

对我来说,单独使用 invalidate() 是行不通的。而 invalidateViews() 的工作方式正是我想要的,即重绘列表项。

最佳答案

根据安卓网页View Invalidate , ListView.invalidate() 将

Invalidate the whole view. If the view is visible, onDraw(android.graphics.Canvas) will be called

这通过 onDraw 事件重绘 Canvas 背景。当外观/感觉发生变化时,这很有用。

ListView.invalidateViews(),Android 上声明AbsListView invalidateViews ,

Causes all the views to be rebuilt and redrawn.

我认为这意味着它将“重建”与 ListView 关联的已修改数据,并更新外观。但是,这也会更新 subview ,而且很耗时。通常,当数据发生变化时,我使用 BaseAdapter 的 notifyDataSetChanged()。

总而言之,使用适合您需要的方法。

关于android - ListView invalidate() 与 invalidateViews() 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32079931/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com