ViewPager所加载的PagerAdapter的无聊介绍

ViewPager的setAdapter(PagerAdapter adapter);

PagerAdapter是一个抽象类,有两个抽象方法必须实现:

第一个是int getCount();返回ViewPager的item数,通俗讲就是ViewPager的页数;

public int getCount() {
    return list != null ? list.size() : 0;
}

如果我很无聊的让返回的值小于实际list.size(),那么靠后(list里靠后的)的页数会显示不出来,不会崩溃。

如果返回值大于实际list.size(),(通常)点最后一个时会崩溃(取决于使用的Adapter类型以及重写的方法写法,也可能点任何其他一个都崩嘿嘿)。崩溃的原因都是给的position大于list的长度,俗称:java.lang.IndexOutOfBoundsException。

第二个是boolean isViewFromObject(View view, Object object);

这个方法理解就比较复杂了,ViewPage管理它的每一个页(pager)用的是key-value,每个页面会有一个值(生成这一页时会生成这个值),这个方法就是检验这一页和这个值是否相同...emmm如果全返回true,只会显示第一页,全false一页都显示不出来...都不会崩。

回头看下源码再细细解释这一段....有点事要先去忙了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值