ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项。

创建ListView有如下两种方式:

  • 直接使用ListView进行创建。
  • 让Activity继承ListActivity(相当于该Activity显示的组件为ListView)。

一旦在程序中获得了ListView之后,接下来就需要为ListView设置它要显示的列表项了。在这一点上,ListView表显示出AdapterView的特征;通过setAdapter(Adapter)方法为之提供Adapter、并由Adapter提供列表项即可。

提示:ListView、GridView、Gallery等AdapterView都只是容器,而Adapter负责提供每个“列表项”组件,AdapterView则负责采用合适的方式显示这些列表项。

实例:改变分隔条、基于数组的ListView

布局文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!-- 直接使用数组资源给出列表项 -->
<!-- 设置使用红色的分割条 -->
<ListView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/books"
android:divider="#f00"

android:dividerHeight="2px"
android:headerDividersEnabled="false" />
</LinearLayout>

其中数组文件如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="books">
<item >疯狂Java讲义</item>
<item >疯狂Ajax讲义</item>
<item >疯狂XML讲义</item>
<item >疯狂Java讲义</item>
<item >疯狂Ajax讲义</item>
<item >疯狂XML讲义</item>
</string-array>
</resources>

上面的布局文件中定义了一个ListView,并通过android:entries指定了列表项数组,该ListView还通过android:divider改变了列表项之间的分隔条。

上面第一个ListView指定了android:entries="@array/books",该属性值用到了数组资源。

使用Activity显示上面的ListView,将可以看到如下图所示的效果。

使用数组创建ListView十分简单,当这种ListView能定制的内容很少,甚至连每一个列表项的字号大小、颜色都不能改变。

如果想对ListView的外观、行为进行定制,就需要把ListView作为AdapterView使用,通过Adapter控制每个列表项的外观和行为。

列表视图(ListView)和ListActivity的更多相关文章

  1. Android 自学之列表视图ListView和ListActivity

    ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有两种方式: 直接使用ListView创建. 让Activity继承ListActivity ...

  2. 列表视图(ListView和ListActivity)

    在ListView中显示网络图片 ImageView 类虽然有一个 setImageUri 方法,但不能直接接受一个由网络地址生成的uri作为参数从而显示图片,我们只好使用其 setImageBitm ...

  3. android学习--视图列表(ListView和ListActivity)

    说明: 视图列表(ListView和ListActivity)与AutoComplete.Spinner类似,它们都须要一个供显示的列表项,能够须要借助于内容Adapter提供显示列表项 创建List ...

  4. React-Native基础_5.列表视图ListView

    列表视图ListView 用来显示垂直滚动列表,需要指定两个东西,1 数据的来源 dataSource,2 渲染列表的条目布局 rendRow 'use strict' import React, { ...

  5. Android——列表视图(ListView)

    列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...

  6. 滚动视图、列表视图[ListView、SimpleAdapter类]

    滚动视图 <ScrollView android: layout_width="fill_parent" android: layout_height="fill_ ...

  7. andorid 列表视图 ListView 之BaseAdapter

    .xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android=&qu ...

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

    ListView简介 ListView是android中常用的一种控件,创建ListView有两种方式: 1.在xml中使用ListView控件创建. 2.使用activity继承ListActivi ...

  9. andorid 列表视图 ListView 之ArrayAdapter

    activity_ui3.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns ...

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

    activity_activitybase.xml <?xml version="1.0" encoding="utf-8"?> <ListV ...

随机推荐

  1. linux查看系统的硬件信息

    linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...

  2. 转Y-slow23原则(雅虎)

    YslowYahoo发布的一款基于FireFox的插件,主要是为了提高网页性能而设计的,下面是它提倡了23条规则,还是很不错的,分享一下: 1.减少HTTP请求次数 合并图片.CSS.JS,改进首次访 ...

  3. eclipse proxy

    -Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.ht ...

  4. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  5. Quick Cocos2dx 版本更新

    呵呵,不出所料,我又把项目的quick x版本从2.2.1升级到2.2.3了,不知道下次升级到3.x回事神马时候呢,好期待的说. 话说运行2.2.3的player的时候,老是提醒我显卡不支持openg ...

  6. iOS8学习笔记-构建多视图应用程序

    严格来说,凡是UIView的子类都可以称为视图,实际上IOS的图形界面就是视图包含视图的方案,绝大多数的控件都是UIView的子类,但是苹果公司定义的视图术语,通常是指具有相应视图控制器的uiview ...

  7. 防止多个UIAlertView重叠弹出

    http://www.jianshu.com/p/7ac398ef4532 项目中可能会遇到这种情况,好几个alertView因为逻辑关系全部弹出,用户需要一个个的点击才能将所有的alertView取 ...

  8. 10、手把手教你Extjs5(十)自定义模块的设计

    从这一节开始我们来设计并完成一个自定义模块.我们先来确定一个独立的模块的所能定义的一些模块信息.以下信息只是我自己在开发过程中想到或用到的,希望有新的想法的或者有建议的跟贴回复. 一个独立模块包含以下 ...

  9. Sublime Text 2快捷键大全

    作者:zccst 2015-04-13 Sublime 插件安装 http://www.cnblogs.com/jingwhale/p/4421021.html 2014-09-17 Sublime ...

  10. PageRank——Google的民主表决算法

    1.搜索和民主表决:      当大多数人认为一件事为真的时候,那么这件事就是为真:即搜索时,其他网页对认为此网页好时,那么此网页排名应该靠前   2.PageRank思想:      i.起源:   ...