• 列表视图(ListView)和ListActivity


    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控制每个列表项的外观和行为。

  • 相关阅读:
    微服务简介
    Apache httpd.conf
    搭建PHP开发环境
    搭建Apache开发环境
    Swift 项目编译优化(一)
    用Flutter 写一个简单页面
    Sign In With Apple(一)(转)
    Xcode DeviceSupport
    MQTT初始篇笔记整理
    UITableView使用过程中可能遇到的问题
  • 原文地址:https://www.cnblogs.com/wolipengbo/p/3377678.html
Copyright © 2020-2023  润新知