java - 如何在 Android 中添加图像以列出 View 项目?

标签 java android

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

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;
}

最佳答案

这即使不是不可能,但至少在您当前的设置下相当麻烦。

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

当您创建适配器时,您会为其中的每个项目指定一个确切的布局(即您的 android.R.layout_simple_list_item_2)。您不能将任何其他项目推到那里(除非您真的很固执)。

你需要什么:

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

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

关于java - 如何在 Android 中添加图像以列出 View 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28582806/

相关文章:

java - Java中的单链表——get()方法

android - 更新 Facebook APK 后,FACEBOOK/TWITTER 登录不再适用于 Android 应用程序(登录立即消失!)

android - 如何将参数从 Flutter 传递给 Kotlin?

web - Google Play上的免费试用版应用程序,我自己网站上的完整版本

android - ObjectAnimator 不淡入

java - 在 Hibernate 4.3.4 中覆盖 @Where 子句条件

java - 如何删除队列/优先队列JAVA中的尾随空白

java - 如何通过 java 中的 http 响应 header 防止 Internet Explorer 9 中的缓存?

java - 反射(reflection):这个成员变量是否对应这个Field

Android 在 onDrawFrame 中调用 GLUtils.texImage2D 非常慢