import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.ArrayList;
/**
* Created by 13fen on 2017/10/19.
*/
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> implements View.OnClickListener,View.OnLongClickListener{
private ArrayList<Items> data;
public MyAdapter(ArrayList<Items> t){
data = t;
}
public static interface OnItemClickListener{
void onItemClick(View view, int position);
}
public static interface OnItemLongClickListener {
void onItemLongClick(View view, int position);
}
private OnItemClickListener clickListener = null;
private OnItemLongClickListener longClickListener = null;
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_items,parent,false);
view.setOnClickListener(this);
view.setOnLongClickListener(this);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.tv.setText(data.get(position).getName());
holder.tv1.setText(data.get(position).getName().substring(0,1));
holder.itemView.setTag(position);
}
@Override
public void onClick(View v) {
if(clickListener != null){
clickListener.onItemClick(v,(int)v.getTag());
}
}
@Override
public boolean onLongClick(View v) {
if(longClickListener != null){
longClickListener.onItemLongClick(v,(int)v.getTag());
}
return false;
}
@Override
public int getItemCount() {
return data.size();
}
public void setOnItemClickListener(OnItemClickListener listener) {
this.clickListener = listener;
}
public void setOnItemLongClickListener(OnItemLongClickListener listener) {
this.longClickListener = listener;
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView tv, tv1;
public ViewHolder(View view){
super(view);
tv = view.findViewById(R.id.name);
tv1 = view.findViewById(R.id.price);
}
}
}
转载于:https://www.cnblogs.com/liangf27/p/9356860.html