您的位置 首页 设计

viewpager 获取当时实际的view

我使用viewpager做了一个滑动的切换效果,效果还挺不错,具体实现效果网上很多,各位可以去找,不过在实现切换效果之后,因为需求需要,我需要获

我运用viewpager做了一个滑动的切换作用,作用还挺不错,详细完成作用网上许多,各位能够去找,不过在完成切换作用之后,由于需求需求,我需求获取领先显现的那个view,这就很让人厌恶了。viewpager有setOnPageChangeListener,里边有

@Override

public void onPageSelected(int arg0) {

}

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override

public void onPageScrollStateChanged(int arg0) {

}

办法,我已开端是在onPageSelected办法中经过viewpager.getChildAt(arg0)办法,想获取当时显现的view。不过这样,超越3个view今后就会报空指针过错,获取的view就会为空,盯梢发现arg0大于2今后就获取view为空。所以我猜想viewpager里边最多有3个view,超越三个的时分就把旧的回收了。那么当时显现的,除了第一个和最终一个,那么都应该是中心的那个,也便是arg0为1的那个。所以我判别,除了第一个和最终一个,其它的arg0都等于1,发现不报错了,可是获取的view不对。后来经过getChildCount()办法发现,ChildCount有时分是2,有时分是3,这就让我很头疼了。

最终,发现viewpager还有一个办法findViewById,所以我就给每一个view设置一个id,id也便是创立时adapter里边的position,这样经过findViewById(arg0)就获取到了当时实际的view了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/321238.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部