适配器

Adapter适配器:

1、simpleAdapter接受的数据类型是List<? extends Map<String,?>>,Map的数据类型,所以Object数组不能直接交给simpleAdapter.所以在使用simpleAdapter时构建的数据是Object二维数组,且二维数组要先放入到map里面且map里面的key必须是String,再把map添加到list集合里面,才能正常使用simpleAdapter。

2、如果自己构建适配器且继承BaseAdapter,但是为什么要仿照ArrayAdapter?

lsv.setAdapter(adapter)中的参数adapter是ListAdapter(接口),所以自己写的Adapter必须实现这个接口。

其中BaseAdapter implements ListAdapter。与自己写的Adapter实现ListAdapter(接口)是一样的,所以要仿照ArrayAdapter。

之后重写相关方法,包括getCount(),getItem(),getItemId(),getView()。

3、如果自己构建适配器且继承ArrayAdapter,为什么没有重写上述全部的方法?

针对于BaseAdapter,我们可以查看它的参数类型,发现调用BaseAdapter时,它的方法里面都没有参数,所以要重写相关的方法来获得Adapter需要的数据。

但是ArrayAdapter,我们查看它的参数类型时,发现它的参数类型丰富,我们只需要调用自己需要的方法,即自己创建构造方法,就可以实现ArrayAdapter的相应方法。所以我们没有必要重写上述的所有方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值