RecyclerView 自定义接口实现跳转

一:adapter中

//自定义接口
public interface OnItemClickListener {
    public void onItemClick(View view, int postion);
}
private OnItemClickListener mListener;// 声明自定义的接口

public void setmListener(OnItemClickListener mListener) {
    this.mListener = mListener;
}
@Override
public void onBindViewHolder(@NonNull ShowViewHolder holder, final int position) {
    //Glide.with(context).load(list.get(position).getImages().split("\\|")[0]).into(holder.iv_img);
    ImageLoader.getInstance().displayImage(list.get(position).getImages().split("\\|")[0],holder.iv_img);
    holder.tv_title.setText(list.get(position).getTitle());
    holder.tv_price.setText("¥"+list.get(position).getPrice());
    view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            /*Intent intent = new Intent(context, DetailsActivity.class);
            intent.putExtra("pid",list.get(position).getPid());
            intent.putExtra("url",list.get(position).getDetailUrl());
            context.startActivity(intent);*/
            // getpostion()为Viewholder自带的一个方法,用来获取RecyclerView当前的位置,将此作为参数,传出去
            mListener.onItemClick(v, position);
        }
    });
}

 

二:Activity中调用

@Override
public void onSuccess(final ShowBean showBean) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            adapter = new ShowAdapter(ShowActivity.this, showBean.getData());
            recyclerView.setAdapter(adapter);
            adapter.setmListener(new ShowAdapter.OnItemClickListener() {
                @Override
                public void onItemClick(View view, int postion) {
                    Intent intent = new Intent(ShowActivity.this, DetailsActivity.class);
                    intent.putExtra("pid",showBean.getData().get(postion).getPid());
                    intent.putExtra("url",showBean.getData().get(postion).getDetailUrl());
                    startActivity(intent);
                }
            });
        }
    });
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值