Recyclerview 的点击事件需要我们自己定义,我就做了一个自己定义的一个点击事件,主要看红色部分,红色部分是我自己写的点击事件,然后定义好点击事件
我们就可以去调用实现了,直接看代码吧
package com.xxx.text.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.xxx.text.R;
import com.xxx.text.bean.Bean;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder> {
private Context context;
private Bean bean;
private OnItemClickListener mOnItemClickListener;
public MyAdapter(Context context, Bean bean) {
this.context = context;
this.bean = bean;
}
public interface OnItemClickListener{
void onItemClick(View view,int position);
}
public void setOnItemClickListener(OnItemClickListener mOnItemClickListener){
this.mOnItemClickListener = mOnItemClickListener;
}
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
MyHolder holder = new MyHolder(LayoutInflater.from(context).inflate(R.layout.rec_litem, parent, false));
return holder;
}
@Override
public void onBindViewHolder(final MyHolder holder, int position) {
holder.rec_mz.setText(bean.getData().getGoodsBrief().get(position).getEfficacy());
holder.rec_jq.setText("¥"+(int) bean.getData().getGoodsBrief().get(position).getShop_price());
ImageLoader.getInstance().displayImage(bean.getData().getGoodsBrief().get(position).getGoods_img(),holder.image);
if (mOnItemClickListener != null){
holder.image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = holder.getLayoutPosition(); // 1
mOnItemClickListener.onItemClick(holder.itemView,position); // 2
}
});
}
}
@Override
public int getItemCount() {
return bean.getData().getGoodsBrief().size() ;
}
class MyHolder extends RecyclerView.ViewHolder {
TextView rec_mz;
TextView rec_jq;
ImageView image;
public MyHolder(View itemView) {
super(itemView);
rec_mz = itemView.findViewById(R.id.rec_mz);
rec_jq = itemView.findViewById(R.id.rec_jq);
image = itemView.findViewById(R.id.rec_tp);
}
}
}