RecycleView的基本配置和使用方法(三)---RecycleView中 item的事件处理

来源:互联网 发布:2016网络最热门的游戏 编辑:程序博客网 时间:2024/05/16 11:46

item的操作应用:

(1)item的增加和删除,主要是适配器中实现:

  (1)增加:   /**    *增加Item    */  public void addItem(int position) {    list.add(position,"A");    notifyItemInserted(position);   }   (2)删除   /**    *删除Item    */     public void removeItem(int position) {       list.remove(position);      notifyItemRemoved(position);     }

(2)对item进行操作(以button为操作控件)

    @Overridepublic void onClick(View v) {    switch (v.getId()) {        case R.id.addItem:            homeAdapter.addItem(1);            break;        case R.id.removeItem:            homeAdapter.removeItem(1);            break;

(3)RecyclerView中item的长按和短按的监听事件(设置接口进行回调)

 public interface ItemClickListener { /** * Item的普通点击 */public void onItemClick(View view, int position);/** * Item长按 */public void onItemLongClick(View view, int position);

(4)以TextView为例实现点击和长按事件:

   //为TextView添加监听回调    holder.textView.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            if (itemClickListener != null) {                itemClickListener.onItemSubViewClick(holder.textView, position);            }        }    });

(5)点击和长按的实现方法

        //为item添加普通点击回调        itemView.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (itemClickListener != null) {                    itemClickListener.onItemClick(itemView, getPosition());                }            }        });        //为item添加长按回调        itemView.setOnLongClickListener(new View.OnLongClickListener() {            @Override            public boolean onLongClick(View v) {                if (itemClickListener != null) {                    itemClickListener.onItemLongClick(itemView, getPosition());                }                return true;            }        });       homeAdapter.setItemClickListener(new ItemClickListener() {        @Override        public void onItemClick(View view, int position) {            Toast.makeText(MainActivity.this, "点击了Item" + position, Toast.LENGTH_SHORT).show();        }        @Override        public void onItemLongClick(View view, int position) {            Toast.makeText(MainActivity.this, "长按了Item" + position, Toast.LENGTH_SHORT).show();        }  
1 0
原创粉丝点击