package tk.zielony.carbonsamples.library; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import java.util.List; import carbon.recycler.ItemTouchHelper; import carbon.recycler.ListAdapter; import carbon.widget.RecyclerView; import carbon.widget.TextView; import tk.zielony.carbonsamples.R; public class FruitAdapter extends ListAdapter<FruitAdapter.ViewHolder, String> { private ItemTouchHelper helper; public FruitAdapter(List<String> fruits, ItemTouchHelper helper) { super(fruits); this.helper = helper; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.row_reorder, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(final ViewHolder holder, final int position) { holder.tv.setText(getItem(position)); if (helper != null) { holder.reorder.setOnTouchListener((view, motionEvent) -> { if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) helper.startDrag(holder); return true; }); } } public class ViewHolder extends RecyclerView.ViewHolder { private final TextView tv; View reorder; public ViewHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.text); reorder = itemView.findViewById(R.id.reorder); } } }