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)。你不能把任何额外的东西推到那里(除非你真的很固执)
您需要的:
- 定制适配器(最好)
- 适配器的自定义布局
- 适配器中的数据源,将特定图标映射到每个元素
这是一个很好的演示:谢谢,看起来这就是我想要的。