package com.cheng.animationstudy.customview.bagrefresh; import android.support.v7.widget.RecyclerView; import com.cheng.animationstudy.R; import java.util.ArrayList; import java.util.List; import cn.bingoogolapple.androidcommon.adapter.BGARecyclerViewAdapter; import cn.bingoogolapple.androidcommon.adapter.BGAViewHolderHelper; import cn.bingoogolapple.swipeitemlayout.BGASwipeItemLayout; /** * 作者:王浩 邮件:bingoogolapple@gmail.com * 创建时间:15/5/22 16:31 * 描述: */ public class SwipeRecyclerViewAdapter extends BGARecyclerViewAdapter<RefreshModel> { /** * 当前处于打开状态的item */ private List<BGASwipeItemLayout> mOpenedSil = new ArrayList<>(); public SwipeRecyclerViewAdapter(RecyclerView recyclerView) { super(recyclerView, R.layout.item_swipe); } @Override public void setItemChildListener(BGAViewHolderHelper viewHolderHelper) { BGASwipeItemLayout swipeItemLayout = viewHolderHelper.getView(R.id.sil_item_swipe_root); swipeItemLayout.setDelegate(new BGASwipeItemLayout.BGASwipeItemLayoutDelegate() { @Override public void onBGASwipeItemLayoutOpened(BGASwipeItemLayout swipeItemLayout) { closeOpenedSwipeItemLayoutWithAnim(); mOpenedSil.add(swipeItemLayout); } @Override public void onBGASwipeItemLayoutClosed(BGASwipeItemLayout swipeItemLayout) { mOpenedSil.remove(swipeItemLayout); } @Override public void onBGASwipeItemLayoutStartOpen(BGASwipeItemLayout swipeItemLayout) { closeOpenedSwipeItemLayoutWithAnim(); } }); viewHolderHelper.setItemChildClickListener(R.id.tv_item_swipe_delete); viewHolderHelper.setItemChildLongClickListener(R.id.tv_item_swipe_delete); } @Override public void fillData(BGAViewHolderHelper viewHolderHelper, int position, RefreshModel model) { viewHolderHelper.setText(R.id.tv_item_swipe_title, model.title).setText(R.id.tv_item_swipe_detail, model.detail).setText(R.id.et_item_swipe_title, model.title); } public void closeOpenedSwipeItemLayoutWithAnim() { for (BGASwipeItemLayout sil : mOpenedSil) { sil.closeWithAnim(); } mOpenedSil.clear(); } }