package com.zyj.filemanager.adapter.base; import android.support.v7.widget.RecyclerView; import android.view.View; import com.zyj.filemanager.adapter.FileAdapter; /** * Created by ${zhaoyanjun} on 2017/1/12. */ public abstract class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { public interface OnItemClickListener { void onItemClick(View view, RecyclerView.ViewHolder viewHolder , int position); } public interface OnItemLongClickListener{ boolean onItemLongClick(View view , RecyclerView.ViewHolder viewHolder , int position); } public FileAdapter.OnItemClickListener onItemClickListener; public FileAdapter.OnItemLongClickListener onItemLongClickListener; public void setOnItemClickListener(FileAdapter.OnItemClickListener listener) { onItemClickListener = listener; } public void setOnItemLongClickListener( FileAdapter.OnItemLongClickListener listener) { onItemLongClickListener = listener; } @Override public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (onItemClickListener != null) { int pos = holder.getLayoutPosition() ; onItemClickListener.onItemClick( v , holder , pos); } } }); holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { if ( onItemLongClickListener != null ){ int pos = holder.getLayoutPosition() ; return onItemLongClickListener.onItemLongClick( v , holder , pos ); } return false; } }); onBindViewHolders( holder , position ); } public abstract void onBindViewHolders( RecyclerView.ViewHolder holder, int position ) ; public abstract Object getAdapterData() ; public abstract Object getItem( int positon ); }