Android 中RecycleView实现item的点击事件

Android 中RecycleView实现item的点击事件,第1张

概述Android中RecycleView实现item的点击事件RecycleView现在已经越来越受到大家的重视,因为他既可以代替listView还可以代替GridView,但是RecycleView本身不不像ListView那样具有setOnItemClickListener,这个关于子it

AndroID 中RecycleVIEw实现item的点击事件

RecycleVIEw现在已经越来越受到大家的重视,因为他既可以代替ListVIEw还可以代替GrIDVIEw,但是RecycleVIEw本身不不像ListVIEw那样具有setonItemClickListener,这个关于子item的点击,但是我们往往会用到RecycleVIEw并且希望他的自孩子可以被点击,那么如何实现他的item的点击事件呢?

首先我们在RecyclerVIEw.VIEwHolder中的实现:

public class GrIDVIEwHolder extends RecyclerVIEw.VIEwHolder implements OnClickListener{    //声明MyItemClickListener  private MyItemClickListener mListener;   public GrIDVIEwHolder(VIEw rootVIEw,MyItemClickListener Listener) {    super(rootVIEw);    this.mListener = Listener;     rootVIEw.setonClickListener(this);      }  @OverrIDe  public voID onClick(VIEw v) {//如果mListener不为空,就实现接口中的方法onItemClick其中getposition()是得到被点击位置的position     if(mListener != null){         mListener.onItemClick(v,getposition());       }   }   //声明MyItemClickListener这个接口    public interface MyItemClickListener {     public voID onItemClick(VIEw vIEw,int postion);   } }

最后在RecyclerVIEwAdapter中实现:

package com.ledon.activity.adapter;import Java.util.ArrayList;import java.util.List;import com.ledon.activity.adapter.GrIDVIEwHolder.MyItemClickListener;import com.ledon.ledongym.R;import com.lIDroID.xutils.BitmapUtils;import AndroID.content.Context;import androID.support.v7.Widget.RecyclerVIEw;import androID.text.TextUtils;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEw.OnClickListener;import androID.vIEw.VIEwGroup;public class RecyclerVIEwAdapter extends RecyclerVIEw.Adapter<GrIDVIEwHolder> {  private final List<String> labels;  private LayoutInflater mLayoutInflater;  private Context context;  private MyItemClickListener mItemClickListener;    public RecyclerVIEwAdapter(int count,Context context) {    this.labels = new ArrayList<String>(count);    mLayoutInflater = LayoutInflater.from(context);    for (int i = 0; i < count; i++) {      labels.add(String.valueOf(i));    }  }  @OverrIDe  public int getItemCount() {    return labels.size();  }    @OverrIDe  public voID onBindVIEwHolder(GrIDVIEwHolder vIEwHolder,int position) {    vIEwHolder.itemVIEw.setTag(labels.get(position));     }  @OverrIDe  public GrIDVIEwHolder onCreateVIEwHolder(VIEwGroup parent,int vIEwType) {        VIEw vIEw = null;       vIEw = mLayoutInflater.inflate(R.layout.item_userinfo,parent,false);   //通过构造函数将mItemClickListener    GrIDVIEwHolder holder = new GrIDVIEwHolder(vIEw,mItemClickListener);    return holder;  }  /**   * 设置Item点击监听   *    * @param Listener   */  public voID setonItemClickListener(MyItemClickListener Listener) {    this.mItemClickListener = Listener;  }    }

最后在activity中

//根据adapter来设置item的点击事件    recyclerVIEwAdapter.setonItemClickListener(new MyItemClickListener() {            @OverrIDe      public voID onItemClick(VIEw vIEw,int postion) {              }    });

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

以上是内存溢出为你收集整理的Android 中RecycleView实现item的点击事件全部内容,希望文章能够帮你解决Android 中RecycleView实现item的点击事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1146664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存