有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

    SimpleAdapter adapter = new SimpleAdapter(this, list,
            安卓.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;
}

共 (3) 个答案

  1. # 1 楼答案

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

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

    当你创建适配器时,你需要为其中的每一项指定一个精确的布局(这就是你的android.R.layout_simple_list_item_2)。你不能把任何额外的东西推到那里(除非你真的很固执)

    你需要什么:

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

    这里有一个很好的演示:http://hmkcode.com/android-custom-listview-titles-icons-counter/

  2. # 2 楼答案

    您可以在listview中使用自定义适配器。因此,您可以自定义您的行。 勾选this

  3. # 3 楼答案

    目前正在使用simple_list_item_2.xml表示ListView。此布局仅包含两个TextView。因此无法使用simple_list_item_2.xml布局在ListView行中显示图像

    How to I add an image to list view items in Android?

    应创建自定义适配器:

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

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

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

    ListView with Images and Text using Simple Adapter in Android