activity_main.xml
<ListView
android:id="@+id/lv"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</ListView>
list_item.xml
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
MainActivity.java
package org.gentry.simpleadapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv = (ListView) findViewById(R.id.lv);
List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("nametext", "我是第一个功能");
map1.put("iconid", R.drawable.ic_launcher);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("nametext", "我是第二个功能");
map2.put("iconid", R.drawable.ic_launcher);
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("nametext", "我是第三个功能");
map3.put("iconid", R.drawable.ic_launcher);
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("nametext", "我是第四个功能");
map4.put("iconid", R.drawable.ic_launcher);
Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("nametext", "我是第五个功能");
map5.put("iconid", R.drawable.ic_launcher);
data.add(map1);
data.add(map2);
data.add(map3);
data.add(map4);
data.add(map5);
// data:绑定的数据, list集合
// R.layout.list_item:数据显示对应的布局
// 要让数据跟view对象建立一个映射关系
// from[]:map集合里面数据的key
// to[]:布局文件里面的id
lv.setAdapter(new SimpleAdapter(this, data, R.layout.list_item,
new String[] { "nametext", "iconid" }, new int[] { R.id.tv,
R.id.iv }));
}
}