package com.marshalchen.common.uimodule.swipelayout.adapters; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import com.marshalchen.common.uimodule.swipelayout.SwipeLayout; import com.marshalchen.common.uimodule.swipelayout.implments.SwipeItemMangerImpl; import com.marshalchen.common.uimodule.swipelayout.interfaces.SwipeAdapterInterface; import com.marshalchen.common.uimodule.swipelayout.interfaces.SwipeItemMangerInterface; import java.util.List; public abstract class ArraySwipeAdapter<T> extends ArrayAdapter implements SwipeItemMangerInterface,SwipeAdapterInterface { private SwipeItemMangerImpl mItemManger = new SwipeItemMangerImpl(this); {} public ArraySwipeAdapter(Context context, int resource) { super(context, resource); } public ArraySwipeAdapter(Context context, int resource, int textViewResourceId) { super(context, resource, textViewResourceId); } public ArraySwipeAdapter(Context context, int resource, T[] objects) { super(context, resource, objects); } public ArraySwipeAdapter(Context context, int resource, int textViewResourceId, T[] objects) { super(context, resource, textViewResourceId, objects); } public ArraySwipeAdapter(Context context, int resource, List<T> objects) { super(context, resource, objects); } public ArraySwipeAdapter(Context context, int resource, int textViewResourceId, List<T> objects) { super(context, resource, textViewResourceId, objects); } @Override public View getView(int position, View convertView, ViewGroup parent) { boolean convertViewIsNull = convertView == null; View v = super.getView(position, convertView, parent); if(convertViewIsNull){ mItemManger.initialize(v, position); }else{ mItemManger.updateConvertView(v, position); } return v; } @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 SwipeItemMangerImpl.Mode getMode() { return mItemManger.getMode(); } @Override public void setMode(SwipeItemMangerImpl.Mode mode) { mItemManger.setMode(mode); } }