View(视图)——ListView概述、Adapter分类

ListView

1.概念

(1)列表视图

(2)用来显示多个可滑动项列表的ViewGroup

(3)需要适配器Adapter将集合中数据和每一个Item所对应的布局动态适配到ListView中进行显示

2.适配器 Adaper

(1)API

(2)分类

3.监听器

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity7">
11     <ListView
12         android:layout_width="match_parent"
13         android:layout_height="match_parent"
14         android:id="@+id/lv_1">
15
16     </ListView>
17
18 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?>
2 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
3         android:layout_width="match_parent"
4         android:layout_height="wrap_content"
5     android:textSize="20sp"
6     android:paddingTop="10dp"
7     android:paddingBottom="10dp"/>
 1 package com.hanqi.testapp2;
 2
 3 import android.os.Bundle;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.widget.ArrayAdapter;
 6 import android.widget.ListView;
 7
 8 public class TestActivity7 extends AppCompatActivity {
 9
10     ListView lv_1;
11
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_test7);
16
17         ListView lv_1=(ListView)findViewById(R.id.lv_1);
18
19         //1.数据集合  layout
20         String[]strings={"A1","A2","A3","A4","A5","A6","A7","A8","A9",
21                 "A1","A2","A3","A4","A5","A6","A7","A8","A9"};
22
23         //2.创建Adpter
24         ArrayAdapter<String> arrayAdapter=new ArrayAdapter<String>(this,R.layout.array_adapter,strings);
25
26         //3.绑定到LisView
27         lv_1.setAdapter(arrayAdapter);
28     }
29 }

  

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity8">
11
12     <ListView
13         android:layout_width="match_parent"
14         android:layout_height="match_parent"
15         android:id="@+id/lv_2"></ListView>
16
17 </LinearLayout>
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="horizontal"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent">
 6
 7     <ImageView
 8         android:layout_width="70dp"
 9         android:layout_height="70dp"
10         android:src="@drawable/f1"
11         android:id="@+id/iv_2"/>
12     <LinearLayout
13         android:layout_width="0dp"
14         android:layout_height="match_parent"
15         android:layout_weight="1"
16         android:orientation="vertical"
17         android:layout_marginLeft="20dp"
18         android:gravity="center_vertical">
19
20         <TextView
21             android:layout_width="match_parent"
22             android:layout_height="wrap_content"
23             android:text="名字=aaa"
24             android:id="@+id/tv_7"/>
25         <TextView
26             android:layout_width="match_parent"
27             android:layout_height="wrap_content"
28             android:text="内容=aaa"
29             android:id="@+id/tv_8"/>
30
31     </LinearLayout>
32
33 </LinearLayout>
 1 package com.hanqi.testapp2;
 2
 3 import android.os.Bundle;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.widget.ListView;
 6 import android.widget.SimpleAdapter;
 7
 8 import java.util.ArrayList;
 9 import java.util.HashMap;
10 import java.util.List;
11 import java.util.Map;
12
13 public class TestActivity8 extends AppCompatActivity {
14
15     ListView lv_2;
16
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_test8);
21
22         lv_2=(ListView)findViewById(R.id.lv_2);
23
24         //1.数据集合 layout
25
26         List<Map<String,Object>> lm=new ArrayList<Map<String, Object>>();
27
28         Map<String,Object> map = new HashMap<String,Object>();
29         map.put("img",R.drawable.f1);
30         map.put("name","美食1");
31         map.put("content", "美食1的介绍");
32         lm.add(map);
33
34         map = new HashMap<String,Object>();
35         map.put("img",R.drawable.f2);
36         map.put("name","美食2");
37         map.put("content", "美食2的介绍");
38         lm.add(map);
39
40         map = new HashMap<String,Object>();
41         map.put("img",R.drawable.f3);
42         map.put("name","美食3");
43         map.put("content", "美食3的介绍");
44         lm.add(map);
45
46         map = new HashMap<String,Object>();
47         map.put("img",R.drawable.f4);
48         map.put("name","美食4");
49         map.put("content", "美食4的介绍");
50         lm.add(map);
51
52         map = new HashMap<String,Object>();
53         map.put("img",R.drawable.f5);
54         map.put("name","美食5");
55         map.put("content", "美食5的介绍");
56         lm.add(map);
57
58         map = new HashMap<String,Object>();
59         map.put("img",R.drawable.f6);
60         map.put("name","美食6");
61         map.put("content", "美食6的介绍");
62         lm.add(map);
63
64         map = new HashMap<String,Object>();
65         map.put("img",R.drawable.f7);
66         map.put("name","美食7");
67         map.put("content", "美食7的介绍");
68         lm.add(map);
69
70         map = new HashMap<String,Object>();
71         map.put("img",R.drawable.f8);
72         map.put("name","美食8");
73         map.put("content", "美食8的介绍");
74         lm.add(map);
75
76         map = new HashMap<String,Object>();
77         map.put("img",R.drawable.f9);
78         map.put("name","美食9");
79         map.put("content", "美食9的介绍");
80         lm.add(map);
81
82         map = new HashMap<String,Object>();
83         map.put("img",R.drawable.f10);
84         map.put("name","美食10");
85         map.put("content", "美食10的介绍");
86         lm.add(map);
87
88         //数组 key的数组
89         String[]strings={"img","name","content"};
90         int[]ids={R.id.iv_2,R.id.tv_7,R.id.tv_8};
91
92         //2.创建Simpleadapter
93         SimpleAdapter simpleAdapter=new SimpleAdapter(this,lm,R.layout.simple_adapter,strings,ids);
94
95         lv_2.setAdapter(simpleAdapter);
96     }
97 }

  

时间: 2024-10-06 15:50:43

View(视图)——ListView概述、Adapter分类的相关文章

Android listview与adapter用法

listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常简单. 一个ListView的创建需要3个元素. (1)ListView中的每一列的View. (2)填入View的数据或者图片等. (3)连接数据与ListView的适配器. 也就是说,要使用ListView,首先要了解什么是适配器

ListView和Adapter数据适配器的简单介绍

ListView 显示大量相同格式数据 常用属性: listSelector            listView每项在选中.按下等不同状态时的Drawable divider                ListView每项间的间隔Drawable dividerHeight        ListView每项间间隔的间隔高度 常用方法: setAdapter()                设置数据适配器 setOnItemClickListener()        设置每项点击事件

ListView和Adapter的配合使用以及Adapter的重写

ListView和Adapter的使用 首先介绍一下ListView是Android开发过程中较为常见的组件之一,它将数据以列表的形式展现出来.一般而言,一个ListView由以下三个元素组成: 1.View,用于展示列表,通常是一个xml所指定的.大家都知道Android的界面基本上是由xml文件负责完成的,所以ListView的界面也理所应当的使用了xml定义.例如在ListView中经常用到的“android.R.layout.simple_list_item”等, 就是Android系统

Xamarin.Android之ListView和Adapter

一.前言 如今不管任何应用都能够看到列表的存在,而本章我们将学习如何使用Xamarin去实现它,以及如何使用适配器和自定义适配器(本文中的适配器的主要内容就是将原始的数据转换成了能够供列表控件显示的项). 二.简介适配器 在开始之前我们需要先了解下适配器,首先是提供给我们使用的适配器之间的关系: 下面我们将上面的适配器进行简单的介绍: BaseAdapter:顾名思义,就是所以适配器的基类,但是我们不能将其实例化,因为它是一个虚类,一般我们都是继承该类并实现其中的方法,形成形成自定义的列表(大多

ListView与Adapter笔记:ZrcListView

怕自己说的不清不楚,先来一个郭神的文章镇楼:http://blog.csdn.net/guolin_blog/article/details/44996879 github:https://github.com/zarics/ZrcListView 先贴一个自己画的ZrcListView的UML类图(学习ing...) 首先说下他的整个大体的布局 SimpleHeader是根据状态来draw自己的,一般是不画空白,下拉时把setHeadable设置的SimpleHeader给画出来:然后如果你把

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

超简便的ListView中Adapter的写法

对于 ListView 的使用,他有两个重点的部分,一个是下拉刷新和加载更多,这个今天我们不讲,另外一个是 BaseAdapter 的使用,这个是今天的主角,BaseAdapter 中又有 ViewHolder 模式来实现缓存视图 继承BaseAdapter类,实现以下几个方法 getCount() ->int 返回的是 List的个数 getView(int, View, ViewGroup)->View 返回显示的视图 getItemId(int position) ->long返回

Android——列表视图(ListView)

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

列视图-Listview

如果程序需要显示不定数量的数据或者是动态变动的数据,比如联系人列表.相册,利用上一节的布局方式来实现将很不灵活,这种场景下最有效的展现视图是列表视图(ListView或Gridview).Listview和Gridview都继承自AbsListView,所以在使用上有类似的地方.下面具体介绍这两个视图的使用方法. Listview常用于展示一系列相似类型的数据,下面以一个简化的联系人列表来讲解Listview的基本用法. 主界面布局. main.xml 1.   <RelativeLayout

SQL Server基础之《视图的概述和基本操作》

阅读目录 一:视图的概述 二:视图的分类 三:视图的优点和作用 四:视图的基本操作和语法 五:视图和表的区别  数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用,创建视图,查看视图,修改视图,更新和删除视图等SQL Server的数据库知识. 回到顶部 一:视图的概述  视图是从一个或者多个表导出的,它的行为与表非常相似,但视图是一个虚拟表,在视图中