package com.lin.poweradapter.example.dragswipe; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.lin.poweradapter.DragSwipeViewHolder; import com.lin.poweradapter.SingleAdapter; import com.lin.poweradapter.example.Analog; import com.lin.poweradapter.example.R; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.Unbinder; /** * Created by lin18 on 2017/5/2. */ public class DragSwipeAdapter extends SingleAdapter<Analog, DragSwipeAdapter.ChildViewHolder> { public DragSwipeAdapter(@Nullable Object listener) { super(listener); } @Override public ChildViewHolder onCreateVHolder(ViewGroup parent, int viewType) { return new ChildViewHolder(parent, R.layout.dragswipe_item); } @Override public void onBindVHolder(DragSwipeAdapter.ChildViewHolder holder, int position) { // setTouchDragListener(holder.drag, holder); setLongClickDragListener(holder.drag, holder); final Analog analog = getItem(position); holder.title.setText(analog.text); if (analog.resId > 0) { holder.icon.setImageResource(analog.resId); holder.icon.setVisibility(View.VISIBLE); } else { holder.icon.setVisibility(View.GONE); } } static class ChildViewHolder extends DragSwipeViewHolder { Unbinder unbinder; @BindView(android.R.id.icon) ImageView icon; @BindView(android.R.id.title) TextView title; @BindView(R.id.drag) ImageView drag; ChildViewHolder(@NonNull ViewGroup parent, @LayoutRes int layoutResId) { super(parent, layoutResId); unbinder = ButterKnife.bind(this, itemView); } } }