Android_listView_exc

listView布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.homework04.MainActivity" >

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

item布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <!-- 图像 -->
    <ImageView
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:src="@drawable/image1"
        />
    <!-- 姓名 -->
    <TextView 
        android:id="@+id/text_name"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/image"
        android:textSize="20sp"
        android:layout_marginTop="10dp"
        android:text="名侦探柯南"/>
    <!-- 年龄 -->
    <TextView 
        android:id="@+id/text_age"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/image"
        android:layout_alignBottom="@id/image"
        android:textSize="20sp"
        android:layout_marginBottom="10dp"
        android:text="17"/>
    <!-- 按钮 -->
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_toRightOf="@id/text_name"
        android:layout_marginTop="25dp"
        android:text="更多"
        />
</RelativeLayout>

源代码:

package com.example.homework04;

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 listview;
    private SimpleAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 初始化adapter
        adapter = new SimpleAdapter(
                MainActivity.this, // 第一个参数:上下文
                getData(),// 第二个参数:listview中显示的数据
                R.layout.item,// 第三个参数:每行的布局
                new String[]{"image", "name", "age", "button"},// 第四个参数:字符串数组 Map中的key的值
                new int[]{R.id.image, R.id.text_name, R.id.text_age, R.id.button}); // 第五个参数:item.xml中每个控件的id
        listview = (ListView) findViewById(R.id.listview);
        listview.setAdapter(adapter);
    }

    // 生成listview显示的数据

    private List<Map<String, ?>> getData() {
    // TODO Auto-generated method stub
      List<Map<String,?>> list = new ArrayList<Map<String,?>>();
      int[] image = {R.drawable.image1,R.drawable.image2,R.drawable.image3};
      String[] name={"野比大雄","野比先生","野比太太"};
      String[] age={"12","40","38"};
      for (int i = 0; i < age.length; i++) {
      Map<String,Object> map = new HashMap<String, Object>();
      map.put("image", image[i]);
      map.put("text_name", name[i] );
      map.put("text_age", age[i] );
      map.put("button", "更多");
      list.add(map);

      }
    return list;

    }
}

 

原文地址:https://www.cnblogs.com/fangg/p/5562766.html