simpleAdapter的简单使用,详细解说都在代码里,
simpleadapter可以用作listView的数据源,但是过于消耗内存不建议大量使用
Item.xml配置文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:padding="10dip" >
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/icon"
/>
<TextView
android:id="@+id/name"
android:layout_toRightOf="@+id/icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:layout_marginLeft="15dp"
android:text="@string/name"
/>
<TextView
android:id="@+id/age"
android:layout_toRightOf="@+id/icon"
android:layout_below="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="5dp"
android:textSize="25sp"
android:textColor="#ff0000"
android:text="@string/age"
/>
</RelativeLayout>
SimpleAdapter
package com.leige.simpleadapterdemo;
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.view.Menu;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
private ListView show=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show=(ListView) findViewById(R.id.show);
//准备数据源,simpleAdapter需要的data是List<Map>类型,
List<Map<String, Object>> data=new ArrayList<Map<String,Object>>();
Map<String, Object> map1=new HashMap<String, Object>();
map1.put("name", "磊哥");
map1.put("icon", R.drawable.icon);
map1.put("age", 13);
Map<String, Object> map2=new HashMap<String, Object>();
map2.put("name", "磊哥2");
map2.put("icon", R.drawable.icon);
map2.put("age", 15);
Map<String, Object> map3=new HashMap<String, Object>();
map3.put("name", "磊哥3");
map3.put("icon", R.drawable.icon);
map3.put("age", 16);
//加入数据源
data.add(map1);
data.add(map2);
data.add(map3);
//新建适配器
/*
*
*
* new SimpleAdapter(context,上下文对象
* data, 数据源
* resource,布局文件
* from,data中map的key值
* to data中饭map的key绑定的view对象
* )
*/ SimpleAdapter adapter=new SimpleAdapter(this, data, R.layout.item,
new String[]{"name","icon","age"},
new int[]{R.id.name,R.drawable.icon,R.id.age});
//设置适配器
show.setAdapter(adapter);
}
}
效果图