哪位deity可否跟我讲讲Android 适配器原理~详细!

china1279 2016-04-14 12:47:13
对适配器的原理我不太懂,它与ListView ,,Activity ,, context ,,之间有怎样的联系!知道的能否跟我详讲下,或提供有用的资料也可以..
...全文
210 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
china1279 2016-04-16
  • 打赏
  • 举报
回复
引用 1 楼 Crystal_Plum9 的回复:
Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的 View(ListView,GridView)等地方都需要用到Adapter。 在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的 扩展。比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,SimpleCursorAdapter等。 1.BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性; 2.ArrayAdapter支持泛型操作,最为简单,只能展示一行字。 3.SimpleAdapter有最好的扩充性,可以自定义出各种效果。 4.SimpleCursorAdapter可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。如需要实现 更复杂的UI也可以重写其他方法。可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。 1)ArrayAdapter 列表的显示需要三个元素: a.ListVeiw 用来展示列表的View。 b.适配器 用来把数据映射到ListView上的中介。 c.数据 具体的将被映射的字符串,图片,或者基本组件。 2)SimpleAdapter   simpleAdapter的 扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许 多优化,方面显示而已。 3 ) 一定要以数据库作为数据源的时候,才能使用SimpleCursorAdapter,这里特别需要注意的一点是:不要忘了在AndroidManifest.xml文件中加入权限 <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> 4)BaseAdapter   有时候,列表不光会用来做显示用,我们同样可以在在上面添加按钮。添加按钮首先要写一个有按钮的xml文件,然后自然会想到用上面的方法定义一 个适配器,然后将数据映射到布局文件上。但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研 究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。 谢谢采纳!
谢了,讲的很详细
Crystal_Plum9 2016-04-16
  • 打赏
  • 举报
回复
Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的 View(ListView,GridView)等地方都需要用到Adapter。

在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的 扩展。比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter,SimpleCursorAdapter等。

1.BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性;
2.ArrayAdapter支持泛型操作,最为简单,只能展示一行字。
3.SimpleAdapter有最好的扩充性,可以自定义出各种效果。
4.SimpleCursorAdapter可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。如需要实现 更复杂的UI也可以重写其他方法。可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。


1)ArrayAdapter

列表的显示需要三个元素:

a.ListVeiw 用来展示列表的View。

b.适配器 用来把数据映射到ListView上的中介。

c.数据 具体的将被映射的字符串,图片,或者基本组件。


2)SimpleAdapter
  simpleAdapter的 扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许 多优化,方面显示而已。

3 )
一定要以数据库作为数据源的时候,才能使用SimpleCursorAdapter,这里特别需要注意的一点是:不要忘了在AndroidManifest.xml文件中加入权限

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

4)BaseAdapter
  有时候,列表不光会用来做显示用,我们同样可以在在上面添加按钮。添加按钮首先要写一个有按钮的xml文件,然后自然会想到用上面的方法定义一 个适配器,然后将数据映射到布局文件上。但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研 究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。


谢谢采纳!

786

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 非技术区
android小程序微信小程序 技术论坛(原bbs)
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧