publicabstractbooleanisViewFromObject(Viewview,Objectobject)DetermineswhetherapageViewisassociatedwithaspecifickeyobjectasreturnedbyinstantiateItem(ViewGroup,int).ThismethodisrequiredforaPagerAdaptertofunctionproperly.ParametersviewPageViewtocheckforassociationwithobjectobjectObjecttocheckforassociationwithviewReturnstrueifviewisassociatedwiththekeyobjectobjectapi这么写,判断view是不是和object相关,还是不大懂要干嘛?
1 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
楼上表达的太惨不忍睹,问题不回答就带着你绕。理清楚了再回答,不要强答。百度里还一堆复制他的回答,真tm!!本身不是复杂的问题特地注册帐号回答以下正文:前提概念:ViewPager里面对每个页面的管理是key-value形式的,也就是说每个page都有个对应的id(id是object类型),需要对page操作的时候都是通过id来完成的首先看这个函数publicObjectinstantiateItem(ViewGroupcontainer,intposition);这是pageAdapter里的函数,功能就是往PageView里添加自己需要的page。同时注意它还有个返回值object,这就是那个id。最后publicabstractbooleanisViewFromObject(Viewview,Objectobject)这个函数就是用来告诉框架,这个view的id是不是这个object。谷歌官方推荐把view当id用,所以常规的instantiateItem()函数的返回值是你自己定义的view,而isViewFromObject()的返回值是view==object。ps:感觉这个机制应该是历史遗留问题,属于改bug改出来的机制。否则官方不会推荐这种把view当id的做法。最最后:如有错误,望指正,以免误导后来者。
添加回答
举报
0/150
提交
取消