SwipeStack icon indicating copy to clipboard operation
SwipeStack copied to clipboard

Load Previous Card

Open joshvarun opened this issue 7 years ago • 3 comments

Hi,

Is there anyway I can load the previous card back on the screen?

joshvarun avatar Jun 19 '18 11:06 joshvarun

Ya man, been struggling with the same. You'd have to add the previous item into the array list again at the top position and then update the adapter. Haven't found the right logic to do that yet though.

karan26796 avatar Jun 28 '18 09:06 karan26796

Hello @joshvarun @karan26796 in the adapter add an array with the deleted objects and create two methods that are the following:

private List<String> mData;
private List< String> mDataDeleted;

public void next(){
    mDataDeleted.add(mData.get(0));
    mData.remove(0);
}

public void back(){
    mData.add(0,mDataDeleted.get(mDataDeleted.size()-1));
    mDataDeleted.remove(mDataDeleted.size()-1);
} 

I realized that the adapter does not remove the element from the list, so when I swipe the intercept and call the next method that is in the adapter.

swipeStack.setListener(new SwipeStack.SwipeStackListener() {
            @Override
            public void onViewSwipedToLeft(int i) {
                swipeStackAdapter.next();
            }

            @Override
            public void onViewSwipedToRight(int i) {
                swipeStackAdapter.next();
            }

            @Override
            public void onStackEmpty() {
            }
        });

finally when I click on the back button I call the back method of the adapter and update everything with resetStack()

@OnClick(R.id.btnBack)
public void back(){
     swipeStackAdapter.back();
     swipeStack.resetStack();
}

I hope I help you

hug, greetings

tundisi avatar Oct 12 '18 20:10 tundisi

@tundisi Thank you. Your solution worked. Only problem is that the "back" Animation is not smooth, is there any way to make it smooth?

balavishnu avatar Dec 20 '18 14:12 balavishnu