RecyclerView

来源:互联网 发布:单键实现单片机开关机 编辑:程序博客网 时间:2024/06/05 19:44
package com.bawei.gaoying.adapter;import android.content.Context;import android.graphics.Rect;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import com.bawei.gaoying.R;import com.bawei.gaoying.bean.XbanBean;import com.blankj.utilcode.util.ScreenUtils;import com.bumptech.glide.Glide;import com.example.utils.DensityUtil;import java.util.List;//1.自定义viewHolder 2.继承 3.设置点击事件对外暴漏 public class RecycTuiJAdapter extends RecyclerView.Adapter<RecycTuiJAdapter.viewHolder>{    private List<XbanBean.MiaoshaBean.ListBeanX> list;    private Context context;    public RecycTuiJAdapter(List<XbanBean.MiaoshaBean.ListBeanX> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public viewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = LayoutInflater.from(context).inflate(R.layout.item4, null);        RecycTuiJAdapter.viewHolder holder=new RecycTuiJAdapter.viewHolder(view);        return holder;    }    @Override    public void onBindViewHolder(final viewHolder holder, final int position) {        int screenWidth = ScreenUtils.getScreenWidth()/2;        int screenHeight = ScreenUtils.getScreenHeight()/2;        LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(screenWidth,screenHeight);        params.setMargins(0,0,0,0);        holder.itemView.setLayoutParams(params);                 //图片分割        String images = list.get(position).images;        String[] split = images.split("\\|");        Glide.with(context).load(split[0]).into(holder.tuij_img);        holder.tv_tuij_wenz.setText(list.get(position).title);        holder.tv_tuij_shuz.setText("¥"+list.get(position).bargainPrice+"");         //如果报刷新滚动(scrolling)的错误需要进行判断
        if (holder.rec.getScrollState()==RecyclerView.SCROLL_STATE_IDLE && !holder.rec.isComputingLayout())

 //设置对外暴漏的点击事件
holder.itemView.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {

itemcl.Onclick(holder.itemView,position);

}});}

//设置点击事件,recy没有点击事件
public onItemcl itemcl;
 
public interface onItemcl{
void
Onclick(View view,int i); }

public void setItemcl(onItemcl itemcl) {
this.itemcl = itemcl; }

@Override

public int getItemCount() {
return list.size(); }

public class viewHolder extends RecyclerView.ViewHolder
{
private final ImageView tuij_img;
private final TextView tv_tuij_wenz;
private final TextView tv_tuij_shuz;
public viewHolder(View itemView) {
super(itemView);
tuij_img = itemView.findViewById(R.id.tuij_img);
tv_tuij_wenz = itemView.findViewById(R.id.tv_tuij_wenz);
tv_tuij_shuz = itemView.findViewById(R.id.tv_tuij_shuz); } }}
原创粉丝点击