第29章、列表视图ListView之二(从零开始学Android)

  在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。

  在上一章,我们采用ArrayAdapter填充ListView,本章我们了解一下SimpleAdapter的应用。

  

一、SimpleAdapter应用

  1、打开“res/layout/activity_main.xml”文件。

   完整代码如下:  

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

     <ImageView android:id="@+id/picture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"/>

    <LinearLayout android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#16CCDD"
            android:textSize="22sp" />

        <TextView android:id="@+id/info"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#666666"
            android:textSize="16sp" />
    </LinearLayout>
 
</LinearLayout>


  2、ListView代码 

  (1)打开“src/com.genwoxue.listview_b/MainActivity.java”文件。

  然后输入以下代码:

package com.genwoxue.listview_b;

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.widget.SimpleAdapter;

//ListActivity本质仍然是一个Activity,只不过对于ListVivew更方便
public class MainActivity extends ListActivity {
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //注意SimpleAdapter适配器用法
        SimpleAdapter adapter = new SimpleAdapter(this,getData(),
        							R.layout.activity_main,
        							new String[]{"title","info","picture"},
        							new int[]{R.id.title,R.id.info,R.id.picture});
	   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("picture", R.drawable.photo);
        list.add(map);

        map = new HashMap<String, Object>();
        map.put("title", "音乐");
        map.put("info", "轻曼音乐,令人如入仙境,如痴如醉……");
        map.put("picture", R.drawable.music);
        list.add(map);

        map = new HashMap<String, Object>();
        map.put("title", "视频");
        map.put("info", "震撼场景,360度的视觉捕获,一览无遗……");
        map.put("picture", R.drawable.video);
        list.add(map);

        return list;
    }
}

  ListView列表视图的显示需要三个元素:

  A.ListVeiw 用来展示列表的View。

  B.适配器 用来把数据映射到ListView上的中介。

  C.数据 具体的将被映射的字符串,图片,或者基本组件。

  simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方面显示而已。
  (2)运行结果:

  

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋会全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值