停止ViewPager AutoScroll onPause of Activity

时间:2017-05-29 05:42:26

标签: android android-recyclerview android-viewpager adapter

我有一个活动,我有一个recyclerView。在那个recyclerView中,我正在加载一张卡片列表。每张卡都是一个带有不同图像的viewPager。我也在自动滚动图像。

现在,我想停止autoScroll onPause该活动。

private void loadViewPagerAdapter(final AutoScrollViewPager viewPager, final ArrayList<String> imageData, final int pos) {
        ImageCarousalAdapter imageCarousalAdapter = new ImageCarousalAdapter(context, imageData);
        viewPager.setOffscreenPageLimit(imageData.size());
        viewPager.setAdapter(imageCarousalAdapter);
        viewPager.setInterval(6000);
        viewPager.setScrollDurationFactor(/*randomInRange(5.0f, 10.0f)*/20.0f);
        viewPager.setBorderAnimation(false);
        viewPager.setPageTransformer(true, new ZoomOutTranformer());
        viewPager.startAutoScroll();
    }

上面的代码是我加载recyclerView,viewPager Items。

的方法

2 个答案:

答案 0 :(得分:0)

您应该向viewPager添加一个接口,并且该活动的onPause触发该接口。我认为这应该有效。试试看。 :)

答案 1 :(得分:0)

因此解决方案非常简单,

猜测您正在使用this library

@Override
protected void onPause() {
    super.onPause();
    if(viewPager!=null)
        viewPager.stopAutoScroll();
}

@Override
protected void onResume() {
    super.onResume();
    if(viewPager!=null)
        viewPager.startAutoScroll();
}

注意:onPause()方法中的stopAutoScroll方法。

希望这对你有用!!