Recyclerview如何实现item点击事件

当你想在Activity中处理Aapter中的数据和点击事件时,还得将Activity中的数据传到Adapter中, 只要在Adapter中写一个回调接口,这样就能直接在Acitivity中处理了,不用来回传接数据了.

1.在Adapter类中定义一个接口,例如就是这个 MyViewHolerClicks

 public interface MyViewHolerClicks {
        //item的回调方法
        void onItemClick(int position);
        //删除按钮的回调方法
        void deleteClick(int position);
    }

2..在Adapter类将MyViewHolerClicks 设置为set方法,安卓快捷键alt+insert直接选择 setter

 public MyViewHolerClicks myViewHolerClicks;

    /**
     * 供外部Activity调用的
     *
     * @param myViewHolerClicks
     */
    public void setMyViewHolerClicks(MyViewHolerClicks myViewHolerClicks) {
        this.myViewHolerClicks = myViewHolerClicks;
    }

3..在Adapter类的onBindViewHolder方法中设置点击事件

@Override
    public void onBindViewHolder(final ViewHolder holder, final int position) {
        //绑定view的方法
        if (myViewHolerClicks != null) {
            holder.imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    myViewHolerClicks.onItemClick(position);
                }
            });

            holder.deleteImg.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    myViewHolerClicks.deleteClick(position);
                }
            });
        }
    }

4.在你要使用的Activity界面初始化Adapter中的接口,实现接口中的方法

/**
     * Adapter中详情点击事件
     * 删除按钮的点击事件
     */
    UploadProductionDisplayAdapter.MyViewHolerClicks myViewHolerClicks = new UploadProductionDisplayAdapter.MyViewHolerClicks() {
        /**
         * 每个item的点击事件
         */
        @Override
        public void onItemClick(int position) {
           
        }
       /**
         * 每个item的中删除按钮的点击事件
         */
        @Override
        public void deleteClick(int position) {
            //根据position删除展示列表的数据
          
        }
    };

4.在你要使用的Activity界面

//初始化Adapter
TestAdatper adpter=new TestAdapter(this);
recyclerview.setAdapter(adpter);
adpter.setMyViewHolerClicks(myViewHolerClicks);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • 【Android Activity】 什么是 Activity? 四大组件之一,通常一个用户交互界面对应一个 ac...
    Rtia阅读 3,851评论 3 18
  • 婷婷,你要学会超越别人 真的! 你如果爱自己 就请你超越自己
    佩婷阅读 93评论 0 0
  • 从前有座山,山上有个大和尚,勤劳踏实,每天花半天时间至山泉口挑水;有一天来了个脑瓜灵光,点子多的二和尚,指导大和尚...
    回头没草吃阅读 559评论 0 1
  • 在北京不觉生活了10多天,我居然发现~菜市场,是这个城市里最接地气,最有人情味的地方。 若是在同一个菜...
    豌豆女人阅读 716评论 1 1