自定义 ListView Android
Posted
技术标签:
【中文标题】自定义 ListView Android【英文标题】:Custom ListView Android 【发布时间】:2011-09-12 10:48:13 【问题描述】:我的自定义 ListView 有问题。
SimpleAdapter adapter = new SimpleAdapter(this,
this.dh.selectAll(),
R.layout.custom_row_view,
new String[] "Icon","Chance","TeamID",
new int[] R.id.text1,R.id.text2, R.id.text3);
setListAdapter(adapter);
这是我的简单适配器。我想把图标放进去,可以吗?
【问题讨论】:
在 SO 或 Google 中发布问题之前,您似乎没有在 Google 上搜索过。 是的,你可以,但你应该更具体......你如何提供图标?由乌里?资源ID? @Kartik 我们实际上不知道他是否想使用延迟图像加载 @Selvin,谢谢解答,我有很多图标的文件夹(drawable/flags/Albania.png),我想把图标放入我的simpleadapter @Kartik - 这个问题不是重复的,即使他可以使用相同的答案。 【参考方案1】:是的,你可以...
MyList.java:
package com.TestActivity;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;
public class MyList extends ListActivity
final static ArrayList<HashMap<String, ?>> data = new ArrayList<HashMap<String, ?>>();
static
HashMap<String, Object> row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_albania);
row.put("Chance", "65%");
row.put("TeamID", "Albania");
data.add(row);
row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_rpa);
row.put("Chance", "55%");
row.put("TeamID", "RPA");
data.add(row);
row = new HashMap<String, Object>();
row.put("Icon", R.drawable.flags_polska);
row.put("Chance", "100%");
row.put("TeamID", "Polska :)");
data.add(row);
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
SimpleAdapter adapter = new SimpleAdapter(this,
data,
R.layout.row,
new String[] "Icon","Chance","TeamID",
new int[] R.id.imageView1, R.id.textView1,R.id.textView2);
setListAdapter(adapter);
res/layout/row.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<ImageView android:layout_ android:layout_ android:src="@drawable/icon" android:id="@+id/imageView1"/>
<TextView android:text="TextView" android:id="@+id/textView1" android:layout_ android:layout_/>
<TextView android:text="TextView" android:id="@+id/textView2" android:layout_ android:layout_/>
</LinearLayout>
将带有标志的 pngs 放到 res/drawable-hdpi/
flags_albania.png flags_rpa.png flags_polska.png
你会得到这样的东西:
【讨论】:
以上是关于自定义 ListView Android的主要内容,如果未能解决你的问题,请参考以下文章
转Android自定义Adapter的ListView的思路及代码