android Adaptor层次
Adapter是将数据绑定到UI界面上的桥接类。在实际开发中经常用到,但是却经常对它的结构感到混乱,今天就分析一下android中adapter的结构。
1.
Adapter 相关Interface 结构
2.
Adapter 相关的Class 结构
BaseAdapter实现了接口ListAdapter和SpinnerAdapter
如果我们要自己做属于自己的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)
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.return listInfos.size();
}
第三个问题,你自己创建的view.加载哪些数据你该知道的.