首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 。 然后 修 改

activity_main.xml 中的代码,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >

<ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent" >

</ListView>

</LinearLayout>

在布局中加入 ListView 控件还算非常简单,先为 ListView 指定了一个 id,然后将宽度 和高度都设置为 match_parent,这样 ListView 也就占据了整个布局的空间。

接下来修改 MainActivity 中的代码,如下所示:

public class MainActivity
extends Activity {

private String[] data = {
"Apple", "Banana", "Orange",
"Watermelon", "Pear", "Grape", "Pineapple", "Strawberry", "Cherry", "Mango" };

@Override

protected void
onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); ArrayAdapter<String> adapter =
new ArrayAdapter<String>(

MainActivity.this, android.R.layout.simple_list_item_1, data); ListView listView = (ListView)
findViewById(R.id.list_view);

listView.setAdapter(adapter);

}

}

既然 ListView 是用于展示大量数据的,那我们就应该先将数据提供好。这些数据可以是
从网上下载的,也可以是从数据库中读取的,应该视具体的应用程序场景来决定。这里我们
就简单使用了一个 data 数组来测试,里面包含了很多水果的名称。

不过,数组中的数据是无法直接传递给 ListView 的,我们还需要借助适配器来完成。 Android 中提供了很多适配器的实现类,其中我认为最好用的就是 ArrayAdapter。它可以通 过泛型来指定要适配的数据类型,然后在构造函数中把要适配的数据传入即可。ArrayAdapter 有多个构造函数的重载,你应该根据实际情况选择最合适的一种。这里由于我们提供的数据
都是字符串,因此将 ArrayAdapter 的泛型指定为 String,然后在 ArrayAdapter 的构造函数中 依次传入当前上下文、ListView 子项布局的 id ,以及要适配的数据。注意我们使用了 android.R.layout.simple_list_item_1 作为 ListView 子项布局的 id,这是一个 Android 内置的布 局文件,里面只有一个 TextView,可用于简单地显示一段文本。这样适配器对象就构建好了。

最后,还需要调用 ListView 的 setAdapter()方法,将构建好的适配器对象传递进去,这 样 ListView 和数据之间的关联就建立完成了。

现在运行一下程序,效果如图 3.29 所示。

图   3.29

可以通过滚动的方式来查看屏幕外的数据。

android:ListView 的简单用法的更多相关文章

  1. Android—— ListView 的简单用法及定制ListView界面

    一.ListView的简单用法 2. 训练目标 1) 掌握 ListView 控件的使用 2) 掌握 Adapter 桥梁的作用 实现步骤: 1)首先新建一个项目, 并让ADT 自动帮我们创建好活动. ...

  2. android#ListView的简单用法

    新建项目,并修改项目生产的主文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  3. Android listview与adapter用法(BaseAdapter + getView)

    Android listview与adapter用法http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html package ...

  4. Android listview与adapter用法

    listview与adapter用法 博客分类: android   一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...

  5. Android Spinner的简单用法。

    今天学到的是spinner,就是下拉列表,这可不是ExpandListView哈. 闲话不解释.这是控件,所以先上布局:就不上线性布局了,基本上可以总结出,控件都得在布局里写,写之前嵌个布局就行. & ...

  6. Android ListView特别属性用法

    由于这两天在做listView的东西,所以整理出来一些比较特别(不常用)的属性,通过设置这样的属性可以做出更加美观的列表 1.stackFromBottom属性,这只该属性之后你做好的列表就会显示你列 ...

  7. 【转】Android listview与adapter用法

    一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常 ...

  8. android的ListAdapter简单用法

    ListAdapter是一个整个Activity有且仅有一个ListView控件的Activity 使用步骤:1. 创建MyListViewAdapter(类名可以自定义) extends ListA ...

  9. android Spinner的简单用法

    上代码: spinner = (Spinner) findViewById(R.id.spinner); tv = (TextView) findViewById(R.id.tv); final Ar ...

随机推荐

  1. Javascript之BOM与DOM讲解

    一.Javascript组成 JavaScript的实现包括以下3个部分: ECMAScript(核心) 描述了JS的语法和基本对象. 文档对象模型 (DOM) 处理网页内容的方法和接口 浏览器对象模 ...

  2. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  3. xpath定位

    XML 实例文档 我们将在下面的例子中使用这个 XML 文档. <?xml version="1.0" encoding="ISO-8859-1"?> ...

  4. 区间dp的一些模式和总结

    参考博客:https://blog.csdn.net/my_sunshine26/article/details/77141398 https://blog.csdn.net/qq_38569113/ ...

  5. ROS----TUT-RIM协作机器人和Actin-ROS接口

    TUT-RIM: Collaborative Intelligent Heavy Machinery and Robotics http://www.ros.org/news/2017/02/tutr ...

  6. POJ 2395 Out of Hay (Kruskal)

    题意:从待选的路里面选出若干将所有点连通,求选出的边里最长边的最小值. 算法:要使得树的最长边最小,那么每次确定的边都应是待选边里最小的,即最小生成树.对应Kruskal算法. #include &l ...

  7. C. 【UNR #2】黎明前的巧克力

    题解: 不会FWT,只能水40分了 首先,要观察出的性质就是: 选出的集合要满足所有数亦或等于0,而在其中任选子集都可以满足条件,答案就等于sigma(2^size(s)) 这样dp一波显然就可以O( ...

  8. python_cookbook之路:数据结构-解压可迭代对象赋值给多个变量以及扩展的迭代解压语法(*)

    1.一一对应: >>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> name, shares, price, d ...

  9. 【spring基础】AOP概念与动态代理详解

    一.代理模式 代理模式的英文叫做Proxy或Surrogate,中文都可译为”代理“,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一 ...

  10. js上传图片回显

    $("#file01").change(function(){ var objUrl = getObjectURL(this.files[0]) ; console.log(&qu ...