美文网首页
RecycleView点击事件的处理

RecycleView点击事件的处理

作者: 谁动了我的代码QAQ | 来源:发表于2018-09-26 17:50 被阅读0次

recycleView中是没有对点击事件的处理的,所以需要我们自己设置,也就是本章要提到的使用接口回调来实现recycleView的item的点击事件的处理。
先上效果图


点击效果.gif
长按效果.gif

ok,接下来说一下如何设置点击事件。

public class RecycleViewAdapter extends 
          RecyclerView.Adapter<RecycleViewAdapter.ViewHolder> {

       private List<String> list;
       private OnitemClick onitemClick;   //定义点击事件接口
       private OnLongClick onLongClick;  //定义长按事件接口
       public RecycleViewAdapter (List<String> list) {
              this.list = list;
       }
       //定义设置点击事件监听的方法
        public void setOnitemClickLintener (OnitemClick onitemClick) {
               this.onitemClick = onitemClick;
         }
        //定义设置长按事件监听的方法
         public void setOnLongClickListener (OnLongClick onLongClick) {
               this.onLongClick = onLongClick;
          }

         //定义一个点击事件的接口
         public interface OnitemClick {
               void onItemClick(int position);
          }
         //定义一个长按事件的接口
         public interface OnLongClick {
              void onLongClick(int position);
          }
        @Override
         public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
               View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycle_view_item,null);
               ViewHolder viewHolder = new ViewHolder(view);
               return viewHolder;
         }

        @Override
         public void onBindViewHolder(ViewHolder holder, final int position) {
                holder.textView.setText(list.get(position));
                if (onitemClick != null) {
                     holder.textView.setOnClickListener(new View.OnClickListener() {
                         @Override
                         public void onClick(View v) {
                              //在TextView的地方进行监听点击事件,并且实现接口
                              onitemClick.onItemClick(position);
                         }
                    });
                }

               if (onLongClick != null) {
                    holder.textView.setOnLongClickListener(new View.OnLongClickListener() {
                     @Override
                     public boolean onLongClick(View v) {
                           //在TextView的地方进行长按事件的监听,并实现长按接口
                            onLongClick.onLongClick(position);
                            return true;
                      }
                 });
             }
      }


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

       class ViewHolder extends RecyclerView.ViewHolder {

             private TextView textView;
             public ViewHolder(View itemView) {
                 super(itemView);
                 textView = itemView.findViewById(R.id.item);
           }
        }
     }

接下来在activity中使用就可以了,adapter中实现点击和长按回调的接口:

adapter.setOnitemClickLintener(new RecycleViewAdapter.OnitemClick() {
            @Override
            public void onItemClick(int position) {
                Toast.makeText(MainActivity.this,"点击了一下"+position,Toast.LENGTH_SHORT).show();
            }
        });

 adapter.setOnLongClickListener(new RecycleViewAdapter.OnLongClick() {
            @Override
            public void onLongClick(int position) {
                Toast.makeText(MainActivity.this,"长按了一下"+position,Toast.LENGTH_SHORT).show();
            }
       });

相关文章

  • Android ButterKnife的使用

    //作用 :方便的处理View的绑定和点击事件 方便的处理ListView/RecycleView中...

  • RecycleView点击事件的处理

    recycleView中是没有对点击事件的处理的,所以需要我们自己设置,也就是本章要提到的使用接口回调来实现rec...

  • RecycleView

    recycleview点击事件的实现的两种方法: recycleview条目点击事件 - W_FOOD的博客 - ...

  • RecycleView点击事件

    基本使用请看上一篇RecyclerView的基本使用。 在为RecycleView设置点击事件时,发现Recycl...

  • 点击事件处理

    发送触摸时间后,系统会将事件添加到系统UIApplication的事件管理队列中 UIApplication 会在...

  • 点击事件处理

    想要实现的效果点击CollectionCell走func collectionView(_ collectionV...

  • RecycleView添加item点击事件(821)

    参考原文 定义点击事件接口 在RecycleViewAdapter的基类中定义点击事件接口。 实现监听 外界调用

  • 为RecycleView添加item点击事件

    和ListView不一样的是,RecyclerView不再负责Item的摆放等显示方面的功能。所有和布局、绘制等方...

  • RecyclerView: 如何正确的给RecycleView添

    前提: 如何为RecycleView设置点击事件,才会优雅,又不浪费内存呢? 在以前也许我会在Adapter.on...

  • Recycleview实现条目点击

    目的: 由于官方的recycleview没有条目点击事件,需要我们自己去实现 步骤: 1 在MyAdapter中定...

网友评论

      本文标题:RecycleView点击事件的处理

      本文链接:https://www.haomeiwen.com/subject/nqqroftx.html