Android 使用SimpleAdapter自定义ListView

概要:

Android 自定义ListView

自定义含有图片和多行数据的ListView

| |目录

home_list_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" 
    android:background="#000">
    <ImageView
        android:id="@+id/img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="8dp" />
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFFFF"
            android:textSize="15sp" />
        <TextView
            android:id="@+id/info"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFFFF"
            android:textSize="12sp" />
    </LinearLayout>
</LinearLayout>

MainActivity.java

package com.example.x;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity extends ListActivity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		SimpleAdapter adapter = new SimpleAdapter(this, getData(),
				R.layout.home_list_view,
				new String[] { "title", "info", "img" }, new int[] {
						R.id.title, R.id.info, R.id.img });
		setListAdapter(adapter);
	}
	private List<Map<String, Object>> getData() {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("title", "第一行。");
		map.put("info", "第一行描述");
		map.put("img", R.drawable.icon_1_n);
		list.add(map);
		map = new HashMap<String, Object>();
		map.put("title", "第二行。");
		map.put("info", "第二行描述。");
		map.put("img", R.drawable.icon_2_n);
		list.add(map);
		map = new HashMap<String, Object>();
		map.put("title", "第三行。");
		map.put("info", "第三行描述。");
		map.put("img", R.drawable.icon_3_n);
		list.add(map);
		return list;
	}
	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		Toast.makeText(v.getContext(),
				"点击了" + getData().get(position).get("title"),
				Toast.LENGTH_SHORT).show();
		super.onListItemClick(l, v, position, id);
	}
}


评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
资料加载中...
已关注 , 取消