ViewPager 丢失监听事件的原因之一

xiaoxiao2021-02-28  127

前几天写的指示器内对ViewPager进行了监听,但是当当前Viewpager不可见 又变成 可见后,会丢失一次监听事件。也就是说 只能监听到 滑动,但是监听不到沉降和停止。

这主要是 ViewPager源码内的一个变量问题。使用 requestLayout 可以重置布局,这样变量就会变为true,就可以继续监听事件了。具体原因及解决办法如下代码:

效果:当ViewPager 从不可见到可见后,会接收不到 闲置和沉降

解决办法:

viewPager.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { @Override public void onViewAttachedToWindow(View v) { Log.i("生命周期","执行Attach"); v.requestLayout(); } @Override public void onViewDetachedFromWindow(View v) { } });

转载请注明原文地址: https://www.6miu.com/read-30215.html

最新回复(0)