标签归档:无效

Android 特定情况requestlayout 一直无效分析

问题的发现

在做一次项目重构后,发现偶现ViewPager页面出现滑动到一半停住,继续触摸继续滑动,连续滑动后,ViewPager不会有新的页面创建,所有页面都滑到了屏幕之外。

问题分析

既然问题出现在ViewPager,那么当然是从ViewPager的代码开始分析了,既然Viewpager可以滑动,但是松手的时候一切没有触发新页面的加载,于是我怀疑是Viewpager的populate(int item)方法有问题。

经过断点分析,发现这段逻辑完全正常,松手后,确实完美触发了populate 方法,index同样也是对的,那么为什么没有触发滚动动画和页面加载呢。

重新增加断点到Viewpager adapter里的View创建里,发现正常情况下,创建页面的调用栈是从View的onlayout触发的,而异常情况下,没有触发onLyaout。 查看更多