您的位置:首页 > 其它

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

2017-07-10 15:37 155 查看
前几天写的指示器内对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) {

}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: