如何将图像传递给android中的自定义列表视图?

时间:2016-06-15 19:46:01

标签: android listview

我在Android应用中设计了自定义ListView,我的自定义列表项包含ImageViewTextView

我有以下课程

public class Language {
    private int id;
    private String languageName;
}

List<Language> languages;

现在我要做的是为每个语言项加载可绘制图像,然后在列表视图中显示列表。到目前为止,我已经完成了以下工作

String[] from = new String[]{"item_logo", "item_name"}; //mapping
int[] to = new int[]{R.id.li_logo, R.id.li_name}; //first one is id of my imageview
//the second one is id of my textview

List<HashMap<String, Object>> fillMaps = new ArrayList<>();

for (Language language : languages) {
       HashMap<String, Object> map = new HashMap<>();
       map.put("item_logo", getImage(language.getId()));
       map.put("item_name", language.getLanguageName());
       fillMaps.add(map);
}

listView = (ListView) findViewById(R.id.list_languages);

 SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.list_item, from, to);

getImage方法将Web服务中的图像作为字节数组加载,然后将其转换为drawable,但listview不显示它。

此外,我发现如果我用本地drawable id替换方法调用,列表将开始显示drawable。

所以我的问题是,如果我有一个表示图像的字节数组,我怎样才能将它传递给listview,以便它开始显示它。

P.S。还有我的getImage方法如何将字节数组转换为drawable并返回

drawable = new BitmapDrawable(BitmapFactory.decodeByteArray(logoBlob, 0, logoBlob.length));
return drawable;

0 个答案:

没有答案