Java 如何在Android中添加图像以列出视图项目?

Java 如何在Android中添加图像以列出视图项目?,java,android,Java,Android,我正在尝试为每个列表项添加不同的图标,但遇到了问题。我们的想法是将每个列表视图项放在一起,以使编辑更容易,但是添加一个图像要比我想象的复杂得多 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ArrayList<Map<String, String>> list = buildData(); String[] from

我正在尝试为每个列表项添加不同的图标,但遇到了问题。我们的想法是将每个列表视图项放在一起,以使编辑更容易,但是添加一个图像要比我想象的复杂得多

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ArrayList<Map<String, String>> list = buildData();
    String[] from = { "title", "description" };
    int[] to = { android.R.id.text1, android.R.id.text2 };

    SimpleAdapter adapter = new SimpleAdapter(this, list,
            android.R.layout.simple_list_item_2, from, to);
    setListAdapter(adapter);
}

private ArrayList<Map<String, String>> buildData() {
    ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
    list.add(putData("Title 1", "Description 1"));
    list.add(putData("Title 2", "Description 2"));
    list.add(putData("Title 3", "Description 3"));
    return list;
}

private HashMap<String, String> putData(String name, String purpose) {
    HashMap<String, String> item = new HashMap<String, String>();
    item.put("name", name);
    item.put("purpose", purpose);
    return item;
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ArrayList=buildData();
字符串[]from={“title”,“description”};
int[]to={android.R.id.text1,android.R.id.text2};
SimpleAdapter=新SimpleAdapter(此,列表,
android.R.layout.simple_list_item_2,from,to);
setListAdapter(适配器);
}
私有ArrayList buildData(){
ArrayList=新建ArrayList();
添加(putData(“标题1”、“说明1”);
添加(putData(“标题2”、“说明2”));
添加(putData(“标题3”、“说明3”));
退货清单;
}
私有HashMap putData(字符串名称、字符串用途){
HashMap项=新建HashMap();
项目。填写(“名称”,名称);
项目.付诸表决(“目的”,目的);
退货项目;
}

您可以在listview中使用自定义适配器。因此,您可以自定义您的行。 检查当前用于
列表视图的。此布局仅包含两个TextView。因此,无法使用
simple\u list\u item\u 2.xml
布局在ListView行中显示图像

如何在Android中添加图像以列出视图项目

应创建自定义适配器:

1。创建一个自定义布局,其中包含要在每个listview行中显示的所需视图,如TextView、ImageView等

2.通过扩展
SimpleAdapter
类来创建自定义适配器类,以更改用于从数据源显示图像和文本视图的
getView
方法的行为

请参见以下教程以获取参考:


如果这不是不可能的,那么至少在您当前的设置中相当麻烦

顾名思义,SimpleAdapter是一个基本类,它为您提供基本功能。也就是说,通常是一个包含文本视图的列表

创建适配器时,为其中的每一项指定一个精确的布局(这是您的android.R.layout\u simple\u list\u item\u 2)。你不能把任何额外的东西推到那里(除非你真的很固执)

您需要的:

  • 定制适配器(最好)
  • 适配器的自定义布局
  • 适配器中的数据源,将特定图标映射到每个元素

这是一个很好的演示:

谢谢,看起来这就是我想要的。