本文来自肥宝传说之路,引用必须注明出处!

ListView是Android中经常使用的控件。

什么是列表视图,让我们先看看图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

最常见的样例就是各种菜单的下啦列表。

要实现列表,须要完毕三个要素:

1.ListView 把全部的数据按指定的格式排成列表。

列表中每一项能够称为Item(如上图This is Title)。

能够想象得出,要显示列表。就要先弄成相应的格式

2.adapter 适配器就是这样的ListView可以识别的格式,当然适配器有几种。以下再细说。适配器是指定格式的数据。可是我们数据库或者网络其它地方来源的数据不是这样的格式的。所以就有了适配器这个中介。

3.数据 须要显示的数据

处理步骤:获取数据=》数据整理成可识别的格式。即adapter=》把adapter放进ListView中=》显示

adapter有三种,ArrayAdapter。SimpleAdapter和SimpleCursorAdapter

ArrayAdapter:数组适配器,最简单的适配器。仅仅能显示一行字,上图就是了。

看代码前,补充一些java知识。ArrayList为动态数组。相当于C++的vector了,点一下深入了解

我们先看看代码:

package com.fable.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;//数组适配器的包
import android.widget.ListView; //列表视图的包 public class HelloWorldActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//数据来源,这里是測试数据
List<String> data1 = new ArrayList<String>();
data1.add("test1");
data1.add("測试数据2");
data1.add("測试数据3");
data1.add("測试数据4"); super.onCreate(savedInstanceState);
//绑定XML中的ListView。作为Item的容器。
ListView listView = new ListView(this);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,data1);
//加入而且显示
listView.setAdapter(adapter);
setContentView(listView);
}
}

上面使用的android.R.layout.simple_expandable_list_item_1为Android提供基础的列表项的布局文件。

这里用到的构造函数 ArrayAdapter<String>(Context context, int resource, List<String> objects)。Context为上下文。这里是当前的Activity,所以传this进去。resource为资源文件的id,记录在R.java里面的(不知道R.java的能够看看这里)。objects为源数据。

通过ArrayAdapter整合数据。放进ListView,就能够显示出来了。

Android新手入门2016(8)--ListView之ArrayAdapter的更多相关文章

  1. Android新手入门2016(10)--GridView

    本文来自肥宝传说之路.引用必须注明出处! GridView跟ListView一样是多控件布局.实现九宫图是最方便的. 还是先看看图,没图说个鸡鸡是不是 如上图.是一种应用方式.在每一个格子里面.放入应 ...

  2. Android新手入门2016(7)--布局

    布局,这个在服务端变成是没有的,也是服务端的人学习client的一道坎吧. 曾经用cocos2d-x写小游戏的时候就是这个非常难懂,或者能用,可是理解不多的话,非常难写出好的布局,难以适合商业化的应用 ...

  3. Android新手入门2016(14)--FragmentTabHost实现选项卡和菜单

    本文来自肥宝传说之路,引用必须注明出处! 这章憋了好久.本来想写选项卡的,学到TabHost,TabWidget的,把代码拿过来准备研究的时候,发现竟然在4.0.3版本号被废弃了. 百度一下,发如今后 ...

  4. Android新手入门

    本博客出自公众号安卓应用频道:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261947&idx=1&sn= ...

  5. 42.Android之ListView中ArrayAdapter简单学习

    今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...

  6. eclipse再见,android studio 新手入门教程(一)基本设置

    写在前面: 作为一个刚半只脚踏入android开发的新手,在使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,遇到了一些问题,总结为如下: 代码复用性.findviewById,oncl ...

  7. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  8. 《IM开发新手入门一篇就够:从零开发移动端IM》

        登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页   即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM   帖子 打赏 分享 发表评论162     想开 ...

  9. 【原创】新手入门一篇就够:从零开发移动端IM

    一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...

随机推荐

  1. k8s 安装并试用Istio service mesh

    本文根据官网的文档整理而成,步骤包括安装istio 0.5.1并创建一个bookinfo的微服务来测试istio的功能. 文中使用的yaml文件可以在kubernetes-handbook的manif ...

  2. 从 Zero 到 Hero ,一文掌握 Python--转

    https://www.oschina.net/translate/learning-python-from-zero-to-hero 第一个问题,什么是 Python ?根据 Python 之父 G ...

  3. css处理图片下方留白问题

    引用图片的时候,图片和下方内容会有一点小空白,大概如下图紫色横条: 不是说有margin还是padding,是因为ing是行级元素,浏览器就会默认留白了,这时候处理方法很简单,给img加上样式disp ...

  4. 用python(2.7)自定义实现SQL的集合操作

    有的时候需要在不同的数据库实例之间做集合操作,这就无法直接使用SQL语句的join,left join了.相同类型的数据库之间虽然也有类似于DBLINK和FEDERATED之类的东西,但一来这些东西不 ...

  5. What are lazy variables?

    Written by Paul Hudson     @twostraws It's very common in iOS to want to create complex objects only ...

  6. mvc cshtml 中赋值

    @{ var str = ""; str = item.ApplyStatus == ? ? ? ? "申请驳回" : ""; } < ...

  7. js 或运算

    表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果, 如果为 True, 执行表达式b(或函数),并返回b的结果: 如果为 False,返回a的结果: 表达式a || ...

  8. 优动漫PAINT之绘画助手软件简介

    在下载安装优动漫PAINT的时候,它会附带一个叫做绘画助手的一个小软件.绘画助手是一款用于PC端的创作辅助工具软件,针对画师们在绘画时可能遇到的各种问 题和需求,提供了作品保护.云配置.软件管理.色板 ...

  9. 再谈json

    接上一篇,省市三级联动的例子中,引入了1个QQ网站上的js文件.这个js中构造了一个地址对象,页面上我们所有的操作都跟这个对象关联.今天讨论这种对象怎么构造的问题. 前面写过一篇:浅谈Json数据格式 ...

  10. Java范式1

    package Xwxx; public class Person { private String name; private int age; public Person() { } public ...