zoukankan      html  css  js  c++  java
  • 每日总结

      今天学习Recycleview的点击事件。

    我们知道在ListView使用的时候,该控件给我们提供一个onItemClickListener监听器,这样当我们的item发生触发事件的时候,会回调相关的方法,以便我们方便处理Item点击事件。

    对于RecyclerView来讲,非常可惜的时候,该控件没有给我们提供这样的内置监听器方法,不过我们可以进行改造实现。我们先来看一下之前我们写得TestRecyclerAdapter中的onCreateViewHolder()方法中的代码

    onCreateViewHolder()方法中的代码:

    public ViewHolder onCreateViewHolder(ViewGroupparent, int viewType) {  
           Viewview=mInflater.inflate(R.layout.item_recycler_layout,parent,false);  
           //这边可以做一些属性设置,甚至事件监听绑定  
           //view.setBackgroundColor(Color.RED);  
           ViewHolder viewHolder=newViewHolder(view);  
           return viewHolder;  
       }  

    该方法创建一个ViewHolder,其中承载的就是每一项Item View视图,那么我们可以在view创建出来之后给它进行添加相应的属性或者监听方法,例如:背景颜色,大小,以及点击事件。既然可以这样解决,OK,我们给View添加一个onClickListener监听器,然后点击的时候回调onClick()方法。同时我们需要自定义一个类似于onItemClickListener()的监听器来处理。
    interface OnRecyclerItemClickListener{  
           
            void onItemClick(View view, intposition);  
        }  

    然后声明以及Adapter初始化的时候传入进去:

    public  TestRecyclerAdapter(Contextcontext,OnRecyclerItemClickListener onRecyclerItemClickListener){  
            ……
           this.onRecyclerItemClickListener=onRecyclerItemClickListener;  
        }  
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            final View view=mInflater.inflate(R.layout.item_recycler_layout,parent,false);
            //这边可以做一些属性设置,甚至事件监听绑定
            //view.setBackgroundColor(Color.RED);
            ViewHolder viewHolder=new ViewHolder(view);
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if(onRecyclerItemClickListener!=null){
                        onRecyclerItemClickListener.onItemClick(view, (int)view.getTag());
                    }
                }
            });
            return viewHolder;
        }
    经过这样的处理就可以实现条目的点击,具体的点击功能只要重写onclick方法就行了。

  • 相关阅读:
    介绍下自己的Delphi学习环境
    我所理解的Delphi中的数组类型
    字符串的基本操作
    以太网网络变压器的作用
    S3C2416 2D加速
    DM9000AEP调试的时候注意事项
    设置activity背景图片
    如何從現有的share library開發!?
    struct mntent linux挂载信息读取
    Qt中Qstring,char,int,QByteArray之间到转换
  • 原文地址:https://www.cnblogs.com/ruangongwangxiansheng/p/14913064.html
Copyright © 2011-2022 走看看