博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.2列表显示的三元素:数据、视图、适配器
阅读量:6030 次
发布时间:2019-06-20

本文共 2894 字,大约阅读时间需要 9 分钟。

 

 

一.列表显示的三元素:数据、视图、适配器

1.ListView这个组件用于显示;

2.适配器用于绑定数据,即将数据映射到ListView上;

3.数据需映射到ListView的数据可以是字符串、图片或者基本的组件。

二.一般R文件报错,有很大的可能是layout的布局文件出错,记得保存后在build-clean project中clean一下,恢复文件。

:适配器的类型:

1.ArrayAdapter  只能显示一行字。

2.SimpleAdapter 有最好的扩充性,可以定义出各种各样的布局出来,可以放ImageView 、Button 、CheckBox 等。使用时直接继承ListActivity 。

3.SimpleCursorAdapter可以方便的把数据库的内容以列表的形式展示出来。

特别注意:使用SimpleAdapter的数据一般都是HashMap构成的List ,list的每一节对应ListView的每一行。HashMap的每个键值数据映射到布局文件中对应的id的组件上。

1.建立两个布局文件tuyang_layout.xml(这里面相当于一个模板,即将要显示在listView里面的版式)和tuyang_list.xml(建立一个listView并声明id,有时候虚拟机不显示列表的items,就在点击Design上方的NoActionBar选择DeviceDefault中的DeviceDefault.DialogWhelarge.NoActionBar)

tuyang_layout.xml:

2.tuyang_list.xml:

3.建立tuyang_listActivity的java文件

 

package com.example.administrator.teachers_app;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.widget.ListView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Created by Administrator on 2016/9/21. * 定义列表listview, listView= (ListView) findViewById(R.id.tylist);将该列表的参数传递给listview * 对象,然后要把tuyang_layout.xml里的数据格式(list嵌套map:把map里的数据格式以多条的条状显示)封装刀tuyang_list.xml,在用适配器将所有参数传递到listview里 */public class tuyang_listActivity extends AppCompatActivity{    ListView listView;    List
> list=null; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tuyang_list); listView= (ListView) findViewById(R.id.tylist); list=getdata();//现在所有的数据都在list这个对象里,下面要做的就是通过普通适配器,把数据送到listview // 里进行排列 SimpleAdapter simpleAdapter=new SimpleAdapter(tuyang_listActivity.this,getdata(),R.layout. tuyang_layout,new String[]{
"f_image","f_name","f_intro"}, new int[]{R.id.image,R.id.name,R.id.intro}); listView.setAdapter(simpleAdapter);//获取适配器的数据 } /** * 封装数据 * * @return */ public List
> getdata(){ List
> list=new ArrayList
>(); Map
map=new HashMap<>(); map.put("id","1"); map.put("f_image",R.mipmap.f); map.put("f_name","芳"); map.put("f_intro","一个集美貌与智慧于一身的女子"); list.add(map); map=new HashMap<>(); map.put("id","2"); map.put("f_image",R.mipmap.f); map.put("f_name","乔"); map.put("f_intro","一个跟猪一样傻乎乎的女子"); list.add(map); map=new HashMap<>(); map.put("id","3"); map.put("f_image",R.mipmap.f); map.put("f_name","蓉"); map.put("f_intro","一个温婉持家的女子"); list.add(map); map=new HashMap<>(); map.put("id","4"); map.put("f_image",R.mipmap.f); map.put("f_name","米"); map.put("f_intro","一个集上述优点于一身的女子"); list.add(map); return list; }}

 

转载于:https://www.cnblogs.com/cmslby/p/5894398.html

你可能感兴趣的文章
特征工程
查看>>
第四次冲刺
查看>>
【枚举】bzoj1800 [Ahoi2009]fly 飞行棋
查看>>
用JS写CSS
查看>>
TOJ4537: n阶行列式
查看>>
PBM文件格式
查看>>
算法刷题笔记-stack-四则运算
查看>>
3.16
查看>>
Linux下arp用法
查看>>
表单文件上传与文件下载
查看>>
jquery 中prop()的使用方法
查看>>
下午考
查看>>
WKWebView
查看>>
mysql查询今天丶昨天丶一个月的数据
查看>>
创建字符设备的三种方法
查看>>
走在网页游戏开发的路上(六)
查看>>
借东西的小人阿莉埃蒂
查看>>
nodejs web开发入门: Simple-TODO Nodejs 实现版
查看>>
[转]Linux下pppoe配合Drcom插件上网方法介绍......
查看>>
时间复杂度
查看>>