在ListView中设置图像

问题描述:

我有一个listActivity。在列表的每一行中都放置了一个类别的名称。在ListView中设置图像

我从网上下载活动,所以他们可能会偶尔改变。但我想为每个类别设置一个图像。

我有一个可能发生的类别列表。我有所有类别的图形。我如何才能顺利地将正确的图像与相应的类别进行匹配?

编辑:

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

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

解决这样的:

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

我会尝试使用类别名称作为键和映像的资源ID作为值的映射。然后你可以使用正确的id从资源中加载drawable。

+0

可以工作。但它不具有可扩展性。可以说我有100个类别...我正在寻找位图,你怎么看? – johan

为了显示活动,我会使用一个自定义数组适配器,这里有很多不同的例子,所以如果你只是谷歌,你会发现加载。首先,List14就是一个很好的例子。 然后你有一系列的活动,每个活动都有一个id,它决定了将显示什么样的图像,当然还有活动的名称。然后取决于活动的哪个ID显示正确的图像。

如果您想偶尔使用主页刷新来更改它,您应该下载图像并以良好的方式存储它们,如果图像随着活动而变化。

我会尝试和类别名称的地图。然后我会使用图像的资源ID作为值。然后你可以使用正确的ID加载图像。

如果你想一个ImageView的添加到ListView,你还需要使用自定义阵列适配器

这是你会怎么做一个例子。

这是一个很好的让你开始

http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications