Android学习4、Android该Adapter
一、Adapter介绍
An Adapter object acts as a bridge between an AdapterView
and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a
View
for each item in the data set.
一个Adapter是AdapterView视图与数据之间的桥梁。Adapter提供对数据的訪问。也负责为每一项数据产生一个相应的View。其作用例如以下图所看到的:
二、Adapter的继承关系
有两个adapter的体系,例如以下:
1、
2、
三、Adapter中的方法
在实际应用中,adapter的继承体系应用的更为广泛。所以,要对Adapter的方法有所了解
public interface Adapter { // 为了避免产生大量的View浪费内存,在Android中,AdapterView中的View是可回收的使用的。比方你有100项数据要显示,而你的屏幕一次仅仅能显示10条数据,则 // 仅仅产生10个View。当往下拖动要显示第11个View时,会把第1个View的引用传递过去,更新里面的数据再显示,也就是说View可重用。仅仅是更新视图中的数据用于显示新 // 的一项,如果一个视图的视图类型是IGNORE_ITEM_VIEW_TYPE的话,则此视图不会被重用 static final int IGNORE_ITEM_VIEW_TYPE = AdapterView.ITEM_VIEW_TYPE_IGNORE; static final int NO_SELECTION = Integer.MIN_VALUE; // 注冊一个Observer,当Adapter所表示的数据改变时会通知它,DataSetObserver是一个抽象类。定义了两个方法:onChanged与onInvalidated void registerDataSetObserver(DataSetObserver observer); // 取消注冊一个Observer void unregisterDataSetObserver(DataSetObserver observer); // 所表示的数据的项数 int getCount(); // 返回指定位置的数据项 Object getItem(int position); // 返回指定位置的数据项的ID long getItemId(int position); // 表示全部数据项的ID是否是稳定的,在BaseAdapter中默认返回了false,如果是不稳定的。在CursorAdapter中返回了true,Cursor中的_ID是不变的 boolean hasStableIds(); // 为每个数据项产生对应的视图 View getView(int position, View convertView, ViewGroup parent); // 获得对应位置的这图类型 int getItemViewType(int position); // getView能够返回的View的类型数量。(在HeaderViewListAdapter中能够包括Header和Footer,getView能够返回Header、Footer及Adapter // 中的视图,但其getViewTypeCount该实现简称内部Adapter该getViewTypeCount,被忽视的Header、Footer该View // Type,不知道。 int getViewTypeCount(); //是空的 boolean isEmpty(); }
相关文章
- android学习之绘图
- [Android Pro] Android源码编译后,再重编译所需要做的清理工作
- Android中的SQLite使用学习
- 介绍几个好用的android自定义控件
- android.widget.BaseAdapter调用DataSetObservable.notifyChanged/Invalidated
- android 5.0新特性学习--视图轮廓
- unity与Android相互调用
- android开发进阶学习博客资源
- Android网络通信 Get方法使用
- Android八大模块进阶学习(基础、源码、性能优化、Kotlin、Flutter、小程序...)
- Android修行手册 - TableLayout学习
- Android 除了view的监听,其他的监听都要做销毁监听
- Android的报错提示:Failed to resolve: com.android.support.test.espresso:espresso-core:3.0.2
- Android 图片高斯模糊处理
- Android framework开发者带你参加21天学习挑战赛活动
- Android签名机制学习笔记
- Android学习路线(二十四)ActionBar Fragment运用最佳实践
- Android学习四、Android中的Adapter
- Android学习系列(17)--App列表之圆角ListView(续)
- Android学习笔记(四十):Preference的使用
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- 一文3500字手把手教你基于Android系统的自动化环境搭建
- Android中View绘制优化
- android学习笔记
- Android学习之RxView