Android新手入门2016(8)--ListView之ArrayAdapter
本文来自肥宝传说之路,引用必须注明出处!
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的更多相关文章
- Android新手入门2016(10)--GridView
本文来自肥宝传说之路.引用必须注明出处! GridView跟ListView一样是多控件布局.实现九宫图是最方便的. 还是先看看图,没图说个鸡鸡是不是 如上图.是一种应用方式.在每一个格子里面.放入应 ...
- Android新手入门2016(7)--布局
布局,这个在服务端变成是没有的,也是服务端的人学习client的一道坎吧. 曾经用cocos2d-x写小游戏的时候就是这个非常难懂,或者能用,可是理解不多的话,非常难写出好的布局,难以适合商业化的应用 ...
- Android新手入门2016(14)--FragmentTabHost实现选项卡和菜单
本文来自肥宝传说之路,引用必须注明出处! 这章憋了好久.本来想写选项卡的,学到TabHost,TabWidget的,把代码拿过来准备研究的时候,发现竟然在4.0.3版本号被废弃了. 百度一下,发如今后 ...
- Android新手入门
本博客出自公众号安卓应用频道:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261947&idx=1&sn= ...
- 42.Android之ListView中ArrayAdapter简单学习
今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...
- eclipse再见,android studio 新手入门教程(一)基本设置
写在前面: 作为一个刚半只脚踏入android开发的新手,在使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,遇到了一些问题,总结为如下: 代码复用性.findviewById,oncl ...
- [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解
原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...
- 《IM开发新手入门一篇就够:从零开发移动端IM》
登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页 即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM 帖子 打赏 分享 发表评论162 想开 ...
- 【原创】新手入门一篇就够:从零开发移动端IM
一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...
随机推荐
- k8s 安装并试用Istio service mesh
本文根据官网的文档整理而成,步骤包括安装istio 0.5.1并创建一个bookinfo的微服务来测试istio的功能. 文中使用的yaml文件可以在kubernetes-handbook的manif ...
- 从 Zero 到 Hero ,一文掌握 Python--转
https://www.oschina.net/translate/learning-python-from-zero-to-hero 第一个问题,什么是 Python ?根据 Python 之父 G ...
- css处理图片下方留白问题
引用图片的时候,图片和下方内容会有一点小空白,大概如下图紫色横条: 不是说有margin还是padding,是因为ing是行级元素,浏览器就会默认留白了,这时候处理方法很简单,给img加上样式disp ...
- 用python(2.7)自定义实现SQL的集合操作
有的时候需要在不同的数据库实例之间做集合操作,这就无法直接使用SQL语句的join,left join了.相同类型的数据库之间虽然也有类似于DBLINK和FEDERATED之类的东西,但一来这些东西不 ...
- What are lazy variables?
Written by Paul Hudson @twostraws It's very common in iOS to want to create complex objects only ...
- mvc cshtml 中赋值
@{ var str = ""; str = item.ApplyStatus == ? ? ? ? "申请驳回" : ""; } < ...
- js 或运算
表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果, 如果为 True, 执行表达式b(或函数),并返回b的结果: 如果为 False,返回a的结果: 表达式a || ...
- 优动漫PAINT之绘画助手软件简介
在下载安装优动漫PAINT的时候,它会附带一个叫做绘画助手的一个小软件.绘画助手是一款用于PC端的创作辅助工具软件,针对画师们在绘画时可能遇到的各种问 题和需求,提供了作品保护.云配置.软件管理.色板 ...
- 再谈json
接上一篇,省市三级联动的例子中,引入了1个QQ网站上的js文件.这个js中构造了一个地址对象,页面上我们所有的操作都跟这个对象关联.今天讨论这种对象怎么构造的问题. 前面写过一篇:浅谈Json数据格式 ...
- Java范式1
package Xwxx; public class Person { private String name; private int age; public Person() { } public ...