gpt4 book ai didi

android - 动态更改 ListView 的每个项目的 View

转载 作者:行者123 更新时间:2023-11-29 00:31:56 25 4
gpt4 key购买 nike

我想在单击外部按钮(我的意思是它不是 ListView 的一部分)时更改 ListView 每个项目的图像的可见性。

所以我需要访问 ListView 的所有 subview 。然后我做了一个这样的循环:

for (int i = 0...
{
View child_view = list_view.getChildAt(i);
...
}

问题是,通过这种方式,我只能访问当前可见的 subview ,并且我需要访问 ListView每个 subview 。

我怎么能做这样的事情?

最佳答案

解决方法很简单

在您的 Adapter 类中采用这样的 int 数组

int visibilities[]={ImageView.VISIBLE,ImageView.GONE,ImageView.INVISIBLE};

如果您从 Drawable Resources 设置图像,您可能会将 id 传递给 ArrayList 项目像这样

CountriesList.add(new Country("India",R.drawable.india));

然后在 Country 类中创建另一个变量(您的 Bean 类(Getter setter 类))并设置它类型 int像这样

class Country{
String name;
int flag;
int visibility;
}

在向列表中添加元素时像这样传递可见性

 CountriesList.add(new Country("India",R.drawable.india,1));

在适配器的 getView() 方法中,您可能会像这样设置资源

holder.image.setImageResource(country.getFlag());

也加上这一行

holder.image.setVisibility(visibilities[country.getVisibility]);

为了解释这一点,我添加了国家/地区示例。我在之前的应用程序中使用了相同的技巧来创建列表...并且效果很好。希望这对您有所帮助。

关于android - 动态更改 ListView 的每个项目的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010294/

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