首页 > 解决方案 > CardStackView.Rewind() 在片段中不起作用

问题描述

我正在使用这个cardStackView来显示一组要滑动的图片(左、右、上)。onClick() of rewind button 我试图通过调用下面的这个 rewind() 方法来倒回前一张卡片。效果很好!!

public void rewind()
{
        manager.setRewindAnimationSetting(new RewindAnimationSetting.Builder()
                .setDirection(Direction.Right)
                .setDuration(Duration.Normal.duration)
                .setInterpolator(new DecelerateInterpolator())
                .build());
        cardStackView.rewind();
    Toast.makeText(getContext(), "Executed Rewind", Toast.LENGTH_SHORT).show();
}

但是现在我想在一个条件下调用这个方法(即每天达到刷卡限制),它正在成功执行但卡没有倒带。

public void SwipePerformed()
{
    if(SwipeFragment.user_premium)
    {
        DoSomeAction();
    }
    else
    {
        if (user_SwipeCount >= SwipeLimit)
        {
            rewind(); //Rewind to previous card, limit reached.
            getPremiumWindowDisplay();//Display Get Premium View.           
        }
        else
        {
            PerformSomeAction();
        }
    }
}

在上面的代码中,rewind 方法被调用和执行,但 card 没有被倒带。请帮我解决一下这个。我不明白是什么问题..

标签: androidandroid-studioandroid-fragmentsandroid-cardviewmobile-application

解决方案


您需要创建另一个经理检查实例

块引用

    rewindButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(mContext, "click", Toast.LENGTH_SHORT).show();
            RewindAnimationSetting settings = new RewindAnimationSetting.Builder()
                    .setDirection(Direction.Bottom)
                    .setDuration(Duration.Normal.duration)
                    .setInterpolator(new DecelerateInterpolator())
                    .build();

            CardStackLayoutManager cardStackLayoutManager2 = new CardStackLayoutManager(mContext);
            cardStackLayoutManager2.setRewindAnimationSetting(settings);
            cardStackView.setLayoutManager(cardStackLayoutManager2);
            cardStackView.rewind();
        }
    });

块引用


推荐阅读