android Adaptor层次

 

Adapter是将数据绑定到UI界面上的桥接类。在实际开发中经常用到,但是却经常对它的结构感到混乱,今天就分析一下androidadapter的结构。

1.

Adapter 相关Interface 结构

 

 

 

2.

Adapter 相关的Class 结构

 

 

BaseAdapter实现了接口ListAdapterSpinnerAdapter

如果我们要自己做属于自己的Adapter,以下顶层Adapter里方法都是需要重新实现的:

abstract Object getItem(int position)
abstract int getCount()
abstract long getItemId(int position)
abstract int getItemViewType(int position)
abstract View getView(int position,View convertVeiw,ViewGroup parent)

 

listview加载adapter过程是这样的.
 
1、先判断adapter 有多少数据项,根据这个数据确定有多少item.
2、确定每个item里加载哪个View. 
3、把View里加载要显示的数据.
 
第一个问题: 因为adapter都要关联一个list .有来存储数据.list的项数就是Item的数目. 我们在重载BaseAdapter 时候,都要实现这个函数
 
public int getCount() { 
    return listInfos.size(); 
}
第二个问题 哪来的view 呢, 当然我们自己创建的,可以在代码中手动加,也可以通过xml传一个LayoutID过来,然后inflate它.重载BaseAdapter时候你要实现getView()这个函数,就是这个view.
第三个问题,你自己创建的view.加载哪些数据你该知道的.
 
 
 
原文地址:https://www.cnblogs.com/kakafra/p/2708331.html