Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在ListView中设置图像_Android_Listview - Fatal编程技术网

Android 在ListView中设置图像

Android 在ListView中设置图像,android,listview,Android,Listview,我有一个活动。在列表的每一行中放置一个类别的名称 我从网上下载这些活动,因此它们可能会偶尔更改。但我想为每个类别设置一个图像 我有一个可能出现的类别列表。我有所有类别的图片。如何将正确的图像与相应的类别平滑匹配 编辑: 我有照片。现在介绍如何将它们添加到listView。但是我在寻找如何将正确的类别映射到正确的图片的建议。如果我将图片命名为与类别相同的名称,位图工厂能做到这一点吗 Bitmap bMap = BitmapFactory.decodeFile("/categoryicon_"+c.

我有一个活动。在列表的每一行中放置一个类别的名称

我从网上下载这些活动,因此它们可能会偶尔更改。但我想为每个类别设置一个图像

我有一个可能出现的类别列表。我有所有类别的图片。如何将正确的图像与相应的类别平滑匹配

编辑:

我有照片。现在介绍如何将它们添加到listView。但是我在寻找如何将正确的类别映射到正确的图片的建议。如果我将图片命名为与类别相同的名称,位图工厂能做到这一点吗

Bitmap bMap = BitmapFactory.decodeFile("/categoryicon_"+c.getId() + ".png");
                                imageView.setImageBitmap(bMap);

我将尝试使用类别名称作为键,图像的资源id作为值的映射。然后,您可以使用正确的id从资源中加载一个可绘制文件。

对于显示活动,我将使用一个自定义数组适配器,有很多不同的示例,因此如果您只需搜索一下,您将发现加载。这是一个很好的例子。 然后,您有一个活动数组,每个活动都有一个id,该id决定将显示哪种类型的图像,当然还有活动的名称。然后根据活动的id显示正确的图像


如果你想偶尔通过刷新主页来更改它,你可能应该下载图像并以良好的方式存储它们,当然,如果图像随活动而更改的话

我会尝试创建一个包含类别名称的地图。然后我将使用图像的资源id作为值。然后可以使用正确的ID加载图像

如果要将imageview添加到ListView,还需要使用自定义阵列适配器

这是一个你将如何做的例子

这是一个很好的开始

这样解决:

String icon = "category_"+c.getId();
                                int resId = getResources().getIdentifier(icon, "drawable", getPackageName());
                                Bitmap bMap = BitmapFactory.decodeResource(getResources(), resId);
                                imageView.setImageBitmap(bMap)

那可能行得通。但它的可扩展性不是很强。假设我有100个类别…我在看位图,你觉得怎么样?