RecycleView的条目点击事件

package com.example.a11561.jingdong.adaper;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.TextView;

import com.example.a11561.jingdong.ProductDetailsActivity;
import com.example.a11561.jingdong.R;
import com.example.a11561.jingdong.data.ShopDatas;
import com.facebook.drawee.view.SimpleDraweeView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import java.util.List;

/**
 * Created by 11561 on 2018/6/9.
 */

public class ShopAdaper extends XRecyclerView.Adapter<XRecyclerView.ViewHolder>{
    private Context context;
    private List<ShopDatas.TuijianBean.ListBean> list;

    public ShopAdaper(AdapterView.OnItemClickListener click) {
        this.click = click;
    }

    private AdapterView.OnItemClickListener click;

    public ShopAdaper(Context context, List<ShopDatas.TuijianBean.ListBean> list) {
        this.context = context;
        this.list = list;
    }

    @Override
    public XRecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View inflate = View.inflate (context, R.layout.shop_style, null);
        ViewHolder holder=new ViewHolder (inflate);
        return holder;
    }

    @Override
    public void onBindViewHolder(XRecyclerView.ViewHolder holder, final int position) {
        //得到布局条目的position
        final int layoutPosition = holder.getLayoutPosition ();
        //必须在itemView的点击事件里面判断
        holder.itemView.setOnClickListener (new View.OnClickListener () {
                    @Override
                    public void onClick(View v) {
                        if(onItemClickListener!=null){
                            onItemClickListener.onItemClickListener (layoutPosition);
                        }
                    }
                });
            ViewHolder holder1= (ViewHolder) holder;
            holder1.shop_text.setText (list.get (position).getTitle ());
            String images = list.get (position).getImages ();
             String[] split = images.split ("\\|");
            holder1.shopimage.setImageURI (Uri.parse (split[0]));
            //Glide.with (context).load (split[0]).into (holder1.shopimage);

    }

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

    public class ViewHolder extends XRecyclerView.ViewHolder{
        TextView shop_text;
        //ImageView shopimage;
        SimpleDraweeView shopimage;
        public ViewHolder(View itemView) {
            super (itemView);
            shop_text=itemView.findViewById (R.id.shop_text);
            shopimage=itemView.findViewById (R.id.shopimage);
        }
    };
    //实现接口
    private OnItemClickListener onItemClickListener;
    //创建接口
    public interface OnItemClickListener{
        void onItemClickListener(int position);
    }
    //外界调用的方法
    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }
}
MainActivity调用

//适配器调用点击事件的方法
shopAdaper.setOnItemClickListener (new ShopAdaper.OnItemClickListener () {
    @Override
    public void onItemClickListener(int position) {
        
    }
});

猜你喜欢

转载自blog.csdn.net/lxd13699/article/details/80657025
今日推荐