SwipeableUltimateViewAdapter.java

package com.marshalchen.ultimaterecyclerview; 
 
import android.animation.Animator; 
import android.animation.ObjectAnimator; 
import android.annotation.TargetApi; 
import android.os.Build; 
import android.support.v7.widget.RecyclerView; 
import android.view.View; 
import android.view.ViewGroup; 
 
import com.marshalchen.ultimaterecyclerview.itemTouchHelper.ItemTouchHelperAdapter; 
import com.marshalchen.ultimaterecyclerview.stickyheadersrecyclerview.StickyRecyclerHeadersAdapter; 
import com.marshalchen.ultimaterecyclerview.swipe.SwipeItemManagerImpl; 
import com.marshalchen.ultimaterecyclerview.swipe.SwipeItemManagerInterface; 
import com.marshalchen.ultimaterecyclerview.swipe.SwipeLayout; 
 
import java.util.Collections; 
import java.util.List; 
 
/** 
 * An abstract adapter which can be extended for Recyclerview 
 */ 
public abstract class SwipeableUltimateViewAdapter extends UltimateViewAdapter<UltimateRecyclerviewViewHolder> implements SwipeItemManagerInterface { 
 
    protected SwipeItemManagerImpl mItemManger = new SwipeItemManagerImpl(this); 
 
    /** 
     * Don't forget to call super.onBindViewHolder when overriding 
     * 
     * @param holder na 
     * @param position  na 
     */ 
    @Override 
    public void onBindViewHolder(UltimateRecyclerviewViewHolder holder, int position) { 
        mItemManger.updateConvertView(holder, position); 
    } 
 
    @Override 
    public void openItem(int position) { 
        mItemManger.openItem(position); 
    } 
 
    @Override 
    public void closeItem(int position) { 
        mItemManger.closeItem(position); 
    } 
 
    @Override 
    public void closeAllExcept(SwipeLayout layout) { 
        mItemManger.closeAllExcept(layout); 
    } 
 
    @Override 
    public List<Integer> getOpenItems() { 
        return mItemManger.getOpenItems(); 
    } 
 
    @Override 
    public List<SwipeLayout> getOpenLayouts() { 
        return mItemManger.getOpenLayouts(); 
    } 
 
    @Override 
    public void removeShownLayouts(SwipeLayout layout) { 
        mItemManger.removeShownLayouts(layout); 
    } 
 
    @Override 
    public boolean isOpen(int position) { 
        return mItemManger.isOpen(position); 
    } 
 
    @Override 
    public SwipeItemManagerImpl.Mode getMode() { 
        return mItemManger.getMode(); 
    } 
 
    @Override 
    public void setMode(SwipeItemManagerImpl.Mode mode) { 
        mItemManger.setMode(mode); 
    } 
 
    public static class BaseSwipeableViewHolder extends RecyclerView.ViewHolder { 
 
        public SwipeLayout               swipeLayout      = null; 
        public SwipeLayout.OnLayout      onLayoutListener = null; 
        public SwipeLayout.SwipeListener swipeMemory      = null; 
        public int                       position         = -1; 
 
        public BaseSwipeableViewHolder(View itemView) { 
            super(itemView); 
 
            swipeLayout = (SwipeLayout) itemView.findViewById(R.id.recyclerview_swipe); 
        } 
    } 
 
 
}