列表视图ListView之二

在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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <ImageView
        android:id="@+id/picture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:contentDescription="@string/desc" />
<!-- 不加这一句会出现警告[Accessibility] Missing contentDescription attribute on image -->
    <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="#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.example.hw;

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 {//写成Activity的话下面的setListAdapter会报错。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//注意SimpleAdapter适配器用法
SimpleAdapter adapter = new SimpleAdapter(this, getData(),//list
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);//图片提前复制到drawable-hdpi文件夹了
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)运行结果:

时间: 2024-10-29 10:46:20

列表视图ListView之二的相关文章

Android——列表视图 ListView(二)SimpleAdapter

SimpleAdapter:可显示文字加图片 activity_activitysimple.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android

列表视图ListView之一

在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示. 一.简单应用 1.打开"res/layout/activity_main.xml"文件. (1)从工具栏向activity拖出1个列表视图ListView. (2)打开activity_main.xml文件. 完整代码如下: <?xml version="1.0" encoding="utf-8"?><Rela

Android——列表视图(ListView)

列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activity继承ListActivity实现.下面分别介绍这两种方法: 一.直接使用ListView组件创建 在布局文件中首先添加ListView 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

Android学习-列表视图ListView

一.简介: ListView,列表视图,直接继承了AbsListView,是一个以垂直方式在项目中显示View视图的列表.ListView的数据项,来自一个继承了ListAdapter接口的适配器. 二.新建一个包listview并新建ListViewActivity.java活动: 12345678 public class ListViewActivity extends AppCompatActivity { @Override protected void onCreate(Bundle

高级控件【安卓5】——滚动视图、列表视图[ListView、SimpleAdapter类]

滚动视图 <ScrollView android: layout_width="fill_parent" android: layout_height="fill_parent"> </ScrollView> 滚动试图指的是提供一个专门的容器,可以装下多于屏幕宽度的组件,而后采用拖拽的方式 显示所有在ScrollView中的组件 注意:滚动视图中只能有一个组件 列表视图[ListView.SimpleAdapter类] 1.ListView控

Android列表视图ListView和ListActivity-android学习之旅(二十四)

ListView简介 ListView是android中常用的一种控件,创建ListView有两种方式: 1.在xml中使用ListView控件创建. 2.使用activity继承ListActivity,然后使用setListAdapter()创建,如果需要在xml中创建,需要android:id = @id:android:list Listview和GridView和Spinner和Gallery等Adapterview都是容器,用adapter来提供数据,而adapterView负责数据

Android——列表视图 ListView(三)BaseAdapter

activity_activitybase.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_pa

andorid 列表视图 ListView 之ArrayAdapter

activity_ui3.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_p

Android——列表视图 ListView(一)Arrayadapter

一.ArrayAdapter 只显示文字 activitylistview_layout.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layou