Android之ListActivity:布局与数据绑定

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 10:49 我要评论(0)

Android中的列表,当然也可以用ListView来完成所需要的功能,用法是一样的。

废话不说,来关键的。

LiveActivity本身继承了关于List操作的众多接口,我们可以方便的重写这些操作中需要的方法来实现自己需要的功能。

如果要用ListActivity,则 Activity的Layout文件中必须包括一个(只能一个)ListView,且ListView的id= "@id/android:list"。

如下代码,一个标准的ListActivity Layout文件:

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:paddingLeft="8dp"

android:paddingRight="8dp">

<ListView android:id="@id/android:list"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#00FF00"

android:layout_weight="1"

android:drawSelectorOnTop="false"/>

<TextView id="@id/android:empty"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#FF0000"

android:text="No data"/>

</LinearLayout>

请注意 ListView与TextView的id。前面说了,ListView的Id为固定不变的,为”@./idandroid:ost”,ListActivity会根据id自动查找ListView引用;但如果当ListView中没有值而又想提示一句话时,那么用于指定显示提示信息的TextView的id 必须为”"@id/android:empty",提示的信息可以通过android:text进行指定。

OK,关于如何布局说完了,那么如何给List绑定值,并进行操作呢?

首先我们需要确实的是,ListView的布局也完成了,并通过调用setContentView(…)进行了绑定,但直到现在我们还没有确定ListView中的第一行显示的格式是什么,是直接显示文字还是要“图文并茂”的显示。

Android系统为我们提供了多种模板进行选择(android.R.layout),如

Simple_list_item_1 每项有一个TextView

Simple_list_item_2 每项有两个TextView

Simple_list_item_checked 带CheckView的项

Simple_list_item_multiple_choise 每项有一个TextView并可以多选

Simple_list_item_single_choice 每项有一个TextView,但只能进行单眩

但然,如果以上项模板还无法满足你的要求,那只能自定义模板了(相当简单,就是定义一个layout布局)。如果你做的asp.net的开发的话,是否对dataList控件有印象呢。如果对DataList有印象,那么理解ListView也就相当的简单了。

自定义模板可以根据自己的需要定义成任意的格式,包括图片、方案及其他可显示的View,不用多说,自己定义就好了,关键是如果使用并进行模板的绑定。

如何要对ListView进行数据绑定,必须使用到一个接口:Adapter。

其中最经常与ListView进行配合使用的有ArrayAdapter、 CursorAdapter及SimpleAdapter等。

从名称可以看出ArrayAdapter使用的是一个ArrayAdapter做为数据源,SimpleCursorAdapter使用的是一个Cursor使用数据源,都比较容易理解,那么如何使用SimpleAdapter作为数据的适配器呢。Ok,从易到难。

ArrayAdapter:

String[] data = { "Item1", "Item2",

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...