Android开发详解之ListView详解一

  次阅读 作者:智能小宝 来源:互联网 2015-11-26 11:52 我要评论(0)

列表ListView介绍和实例

1.ListView-- ListActivity -- ListAdapter

2.ArrayAdapter结合ListView进行显示

3.SimpleAdapter结合ListView进行显示

4.处理单击ListView事件,处理选择ListView的事件

5.使用SimpleCursorAdapter与ListView进行关联

ListView :

要让一个ListView显示出来需要的3个条件:

1.ListView--- 需要被显示的列表

2.Data--- 和ListView绑定的数据,一般是一个Cursor或字符串数组

3.ListAdapter --- data和ListView的桥梁--- 适配作用

常用ListAdapter子类:

ArrayAdapter---数组适配---- ListAdapter的直接子类

ArrayList(context,int itemLayout, data)

context:上下文环境

itemLayout:自定义的每一项要显示的Layout

data:要显示的数据

例子:

ArrayAdapter adapter = new ArrayAdapter(ArrayAdapterListViewActivity.this, android.R.layout.simple_list_item_1, data);

android.R.layout.simple_list_item_1--- 使用Android自带的 每一项Listview显示布局-- 实际应用中常常自定义此item布局

特别注意:itemLayout--- ListView中每一项(行)的布局---可以引用系统自带的,但 实际项目中更多是使用自定义的item布局

系统自带的常用item布局:

android.R.layout.simple_list_item_1----- 每一项只有一个TextView

android.R.layout.simple_list_item_1----- 每一项只有两个TextView

android.R.layout.simple_list_item_single_choice----- 每一项有一个TextView,但这一项可以被选择

SimpleAdapter---简单适配---- ListAdapter的直接子类

通过SimpleAdapter可以让ListView当中的每一项内容更加个性化,

通常将ListView中某项的布局信息写在XML文件中,这个布局文件通过R.layout.XX -- 引入到ListView中

SimpleAdapter是ArrayList和Listview之间的桥梁

ArrayList中的每一项都是一个Map类型。ArrayList当中的每一项Map对象都和ListView当中的一项进行数据绑定和一一对应

SimpleAdapter的构造器:

public SimpleAdapterK(Context context, List extends Map> data, int resource, String[] from , int[] to)

context-- 上下文

data-- 基于Map的List,Data里面的每一项都和ListIView里的每一项对应。Data里面的每一项都是Map类型,

这个Map类中包含了ListView每一行需要的数据--- 常用data = new ArrayList>();

resource -- 一个layout, 必须包含在to中出现的那些View,系统提供或自定义layout布局都可。

系统提供的有:android.R.layout.simpe_list_item_single_choice

android.R.layout.two_line_list_item

from-- 数组名,每一个名字是为了在ArrayList中的每一个item中索引Map的Object用的

to-- 这里面是一个TextView的数组,这些TextView以id形式表示,这鞋View必须是TextView

为ListView中的每一项添加事件处理:OnItemClickListener

OnItemClickListener listener = new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position,

long id) {

setTitle(parent.getItemAtPosition(position).toString());

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

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

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

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

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

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

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

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

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

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

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

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

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

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