gpt4 book ai didi

Android - 如何强制画廊重绘其 View ?

转载 作者:行者123 更新时间:2023-11-29 18:11:27 24 4
gpt4 key购买 nike

我有一个图片库,其中我在当前选中的图片周围放置了一个红色边框(当用户第一次打开屏幕时,第一个被选中,所以我在第一个 View 周围画了边框)。

当我点击另一个项目时,我想在新项目中绘制红色边框并删除上一个项目的红色边框。

问题是我无法更改图库的 onClick 事件内的边框。如果我改变它,什么也不会发生(我想是因为画廊的项目不会重绘)。我试图在我的画廊变量和它的每个 View 中调用 invalidate() 和 postInvalidate(),但它不起作用! View 不会重绘(即,红色边框仅保留在画廊的第一项中)。

有人知道这里发生了什么吗?

最佳答案

在您的适配器代码中,保存一个 int 值,该值将成为所选 View 的位置。在 GalleryonItemClicked 方法中,使用提供的位置更新 int 变量。然后,在 getView 方法中,如果正在绘制的位置是所选位置,则绘制边框。您可以继续使用 onItemClicked 中提供的 View 应用边框,或在适配器上调用 notifyDataSetChanged。首选第一种方法,因为 notifyDataSetChanged 将重新创建每个可见的 View

通常,您还需要检查它是否不是所选位置,以便您可以从重用的View 中删除边框。但是,Gallery 总是会创建一个新的ViewconvertView 对于 Gallery 始终为 null。

关于Android - 如何强制画廊重绘其 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441846/

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