在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。
答
为了显示活动,我会使用一个自定义数组适配器,这里有很多不同的例子,所以如果你只是谷歌,你会发现加载。首先,List14就是一个很好的例子。 然后你有一系列的活动,每个活动都有一个id,它决定了将显示什么样的图像,当然还有活动的名称。然后取决于活动的哪个ID显示正确的图像。
如果您想偶尔使用主页刷新来更改它,您应该下载图像并以良好的方式存储它们,如果图像随着活动而变化。
答
我会尝试和类别名称的地图。然后我会使用图像的资源ID作为值。然后你可以使用正确的ID加载图像。
如果你想一个ImageView的添加到ListView,你还需要使用自定义阵列适配器
这是你会怎么做一个例子。
这是一个很好的让你开始
http://sudarmuthu.com/blog/using-arrayadapter-and-listview-in-android-applications
可以工作。但它不具有可扩展性。可以说我有100个类别...我正在寻找位图,你怎么看? – johan