android recyclerview长按让所有item中的checkbox都显示

我在进行自己的小项目时,遇到了一个问题。
我定义了一个RecyclerView的Adapter继承自RecyclerView.Adapter,在其中定义了ViewHolder内部类
我自定义了点击以及长按接口,并且在ViewHolder构造函数中调用了这个方法

itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int position=getAdapterPosition();
                Log.d("index",position+"");
                mLongClickListener.onItemLongClick(itemView,position);
                return true;
            }
        });

在activity中,我重写了这个OnItemLongClick方法

            myAdapter.setmLongClickListener(new MyItemLongClickListener() {
        @Override
        public void onItemLongClick(View view,int position) {
            delete_checkbox.setVisible(true);
            for(int i=0;i<datalist.size();i++){
                datalist.get(i).setCheckboxVisible(true);
            }
            checkboxIsVisible=true;
        }
    });

这里的响应函数逻辑没有问题,但是我需要实现一个功能。在我长按某一个item的时候,我需要让所有的item都显示出被隐藏的checkbox,然后对checkbox进行点击,删除。在activity中,重写长按函数的部分,我将list中的所有元素中的一个变量的值设为了true,然后将activity中定义的静态变量checkboxIsVisible设为true,表示所有的checkbox都是显示的,但是这样操作之后是没有任何反应的。

我想知道这里的值改变了之后,怎么样可以通知到adapter和内部类ViewHolder,让其做出反应,通过activity中的checkboxIsVisible变量的值改变ViewHolder中checkbox的状态。

希望各位大佬积极营救,我已困扰好久了。

0

3个回答

问题找到了
基础不牢,地动山摇

0

刷新一下适配器不就好了

0
Jack_windows
Jack_windows 我试过刷新,但是这样导致某些数据显示出现混乱,并且只有很少的item中的checkbox 显示出来
大约 2 年之前 回复

楼主 我也遇到这个问题了 可以把答案放出来吗!

0
zhihaozhong
zhihaozhong 回复Jack_windows: 谢了哥们
大约 2 年之前 回复
Jack_windows
Jack_windows 如果你想要了解更多,请联系我jack.windows9@gmail.com,这个项目的github地址是https://github.com/jackwindows9/Notepad
大约 2 年之前 回复
Jack_windows
Jack_windows 很尴尬的说,我把viewHolder中的checkBox设为static变量了,之后就发挥static的作用,导致问题了。
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
RecyclerView嵌入CheckBox带来的显示问题的解决办法
android 的recyclerview内部item的布局包含checkbox控件时,会遇到常见的问题:选择的checkbox后滑动listview内容时会checkbox选择的值会刷新成原来状态值(即没选中),选择listview所有checkbox值之后,只能获取当前可见的checkbox的值,向后滑动选择的值无法获取。 解决以上问题可以采取以下方
android开发 recycleview的item中加入checkbox实现批量选择条目(复用时防止checkbox勾选状态错乱)
Android开发 recycleview的item中加入checkbox 实现批量选择条目(防止复用时checkbox状态错乱)
经验总结-RecyclerView列表中获取每个item中已经选择的CheckBox值
最近在做一个公司的项目—平板广告机,相当于一个超大手机里面打开一个App。需求中有一个功能是从服务器获取广告机可能出现的问题数据,Android开发人员用列表显示,这些数据是给公司的检修人员看的。 需求:点击页面上的一个按钮,弹出一个包含列表的页面,列表的每一项中只含有一个CheckBox控件,如果选中相应的CheckBox控件,那么当检修人员点击提交按钮时,会把每个选中的CheckBo
RecyclerView中使用checkbox遇到的问题
今天用recyclerview时候发现checkbox重复使用会导致OnCheckedChangeListener 出现一个不太友好的问题,问题是这样的: Recyclerview 会回收使用组件,回收checkbox的时候会触发OnCheckedChangeListener 事件,导致我们写的listener中的逻辑会被打乱 比如我选中了一个,那么当view滚动导致这个checkbox 的O
Android 基于RecyclerView实现批量操作
不知道大家对淘宝,JD的App购物车有木有印象,购物车中的多个商品可以批量删除,支付,分享等等。。先来看张图,该图来自水友截图: 上图来自淘宝购物车界面。可以看到,我们对商品可以进行品量删除,移到收藏夹,分享功能。ok,今天我们就用RecyclerView来实现类似批量更新的操作。 首先,我们来简单分析下要实现这样的功能,有哪些核心点: (1)标示选中的商品,即RecyclerVie
关于RecyclerView中含有CheckBox,Button等控件失去焦点的解决办法
关于RecyclerView中含有CheckBox,Button等控件失去焦点的解决办法这里有三种解决方案 1.将RecyclerView中的Item布局中的子控件focusable属性设置为false 2.在onBindViewHolder方法中设置button.setFocusable(false) 3.设置item的根布局的属性android:descendantFoc
ListView长按Item显示CheckBox并进行批量删除操作
ListView应该是每个项目中必不可少的控件了,有的可以编辑的ListView中有批量删除的功能,还有的ListView可以手动调Item排序。下面的代码就是如何实现ListView(默认为无上下拉加载功能的)的批量删除功能。主Activity布局activity_main.xml 一个ListView控件,代码不传了。Item布局item_listview.xml<?xml versi
RecyclerView嵌套CheckBox实现单选全选反选操作每条Item添加分割线
activity_main.xml的布局: xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:
RecyclerView的item点击事件和长按事件
RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,灵活性很强,可以实现listview,gridview,瀑布流的效果,但是没有专门封装的item点击事件和长按事件,个人一般在适配器里写回调实现这俩方法首先要,先引入包来支持控件compile 'com.android.support:recyclerview-v7:22.2.1'然后要在适配器里写好回
关于Recyclerview 实现多选,单选,全选,反选,批量删除的功能的实现
效果图如下: Recyclerview 实现多选,单选,全选,反选,批量删除的步骤1.在Recyclerview布局中添加上底部的全选和反选按钮,删除按钮,和计算数量等控件 2.这里选中的控件没有用checkbox来做,用的是imageview,选中和不选中其实是两张图片 3.默认是不显示选中的控件的,点击编辑的时候显示,点击取消的时候隐藏 4.通过adapter和activity数据之
RecyclerView长按进入编辑状态,批量选中删除
package com.fly.customview.recyclerview;import android.os.Handler; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import an
RecyclerView之CheckBox实现单选效果
需求分析:动态加载支付渠道,默认选中第一个。(RecyclerView使用CheckBox实现单选功能) 解决方法: 1.在JavaBean里面添加一个boolean isSelected字段。 2.在Adapter里根据这个值设置“CheckBox”的选中状态。
RecyclerView长按添加上下文菜单
参考:http://blog.csdn.net/linuxcjh/article/details/7895610 主要是这句话: 需要理解对ListView的item长按之后发生的事情: 首先触发的是onItemLongClick函数,执行onItemLongClick操作,然后根据onItemLongClick的返回值判断是不是执行OnCreateContextMenuListener函数;
给ListView的Item添加CheckBox,长按调出CheckBox,然后通过点击进行选中和取消
首先制作一个CheckBox式样在drawable文件夹中添加文件custom_checkbox_style.xml,内容如下 在values文件夹的styles.xml文件中添加如下内容 @drawable/custom_checkbox_style 在ListView的Item的布局文件中添加CheckBox的相关代码,内容如下<LinearLayout xmlns:andro
Android开发之RecyclerView动态添加item长按删除item源码
我们先看下效果图: 效果还是很不错的。 实现思路: 设置recyclerview为GridLayoutManager布局,单行个数为4个 GridLayoutManager linearLayoutManager = new GridLayoutManager(this, 4); linearLayoutManager.setOrientation(LinearLay...
基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框
基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框
RecyclerView长按拖动效果,用ItemTouchHelper实现
RecyclerView长按拖动效果,用ItemTouchHelper实现 话不多说,直接上代码 //NewItemTouchHelper继承自ItemTouchHelper.Callback NewItemTouchHelper helper = new NewItemTouchHelper(context, adapter, info);ItemTouchHelper itemTouchHe
Android 长按Listview显示CheckBox,实现批量删除
Android 长按Listview显示CheckBox,实现批量删除
Android RecyclerView的Item单击事件&长按事件(自定义接口回调)
1.Google推出RecyclerView是很好用。但是Google并没有给我们提供item的点击事件。 2.根据ListView源码中获取灵感,自己重敲onClickListener接口回调传参(int position), 3.废话不多讲,直接开车:在我们的adapter(适配器)中增加下面这两个方法:
Recyclerview item上CheckBox,包括全选,取消全选,单选功能
Recyclerview item上CheckBox,包括全选,取消全选,单选功能
RecyclerView的长按多选删除操作
RecyclerView实现长按多选删除 这里我先给出我的recyclerview每一个item的布局: &amp;lt;LinearLayout android:id=&quot;@+id/root_view&quot;//根布局要有id android:layout_width=&quot;match_parent&quot; android:layout_height=&quot;wrap_con...
RecyclerView中使用CheckBox出现勾选混乱的解决方案
RecyclerView的复用机制导致添加CheckBox会出现问题,目前网上没有什么好的解决方案,这篇博客将彻底解决这个问题
Android中Recyclerview使用9----Recyclerview的条目复用,出现CheckBox或者设置背景混乱问题
由于RecyclerView 与ListView 都使用了复用技术,所以会出现滚动后出现CheckBox选中混乱或者是Item的背景混乱问题。 解决办法: 1.在onBindViewHolder(...) 方法中添加下面代码 ViewHolder.setIsRecyclable(false); 这里直接关闭掉RecyclerView的复用功能,这是不推荐的,通过网上的资料知道,这种...
RecyclerView+CheckBox实现列表数据选择操作
这些时间做安卓盒子项目,因为安卓电视的显示器比较大,所以一个界面显示 很多数据 ,最多的时候,一个Actvity中用到了好几个RecyclerView。 在RecyclerView中实现Item选中处理时,发现用CheckBox的OnCheckedChangeListener监听事件时,会达不到预期,所以用了OnClickListener来实现。 主界面代码:public class Check
Android RecyclerView+CheckBox点击条目选中,全选,全不选,选中删除,全部删除的操作.
效果视频地址:   https://pan.baidu.com/s/1Vcoq5F4LKkR_wvAWccaK3A 视频: 1.MyRecyclerViewAdapter import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInf...
RecyclerView使用,item实现全选,反选,单选,计算checkbox选中的个数
activity_main.xml 布局 xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://
Android中RecyclerView点击,长按事件详解
RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强升级版。 实现了ViewHolder的复用优化布局,还将onCreatViewHolder和onBindViewHolder分离高度解耦 缺点就是:点击事件的丢了,这就很尴尬了... 本篇就来介绍一下ReyclerView点击事件的实现 先来看看效果图:       
Android LRecyclerView实现Item侧滑菜单、长按拖拽Item、滑动删除Item等功能
版权声明:分享技术,传播快乐。如果本博客对你有帮助,请在我的博客首页为我打赏吧! 目录(?)[+] LRecyclerView能做什么? 如果你之前没有听说过LRecyclerView,那么请参考:  Android LRecyclerView实现下拉刷新,滑动到底部自动加载更多 经过再三思考,同时也为了大家使用方便,LRecyclerView
Android RecyclerView (四)初学,实现长按删除一个Item.
在上一篇中,我学到了如何给RecyclerView添加Item监听器,在这里,我想做到类似于可以长按某个Item然后弹出一个菜单,选择删除这个Item的功能。这里的代码我们还是使用前面写的代码. PopupMenu绑定一个menu然后进行显示。 首先,我们在MyAdapter中先写好删除Item的方法,public void removeItem(int pos){ info
recycleView的条目长按换位置
private void detailTouch() { ItemTouchHelper itemTouchHelper=new ItemTouchHelper (new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.UP | ItemTouchHelper.DOWN) { @O
recyclerview item上面包含CheckBox的解决方案
recyclerview item上面包含CheckBox的解决方案,解决CheckBox状态滑动错乱问题
RecyclerView 多选+仿IOS卸载时的图标抖动
在开发中使用RecyclerVIew已经是很常见的了,它作为ListView 和GirdView 的加强版的存在,并且具有瀑布流的效果,so,堪称完美,今天我要做的是使用RecyclerView展示相对应的网格条目 进行多选 多项操作 在长按的时候1、 选择该条目2、仿IOS卸载应用时抖动效果好了先看下效果图 (CSDN 对图片的大小要求严格 所以这个gif 做的不太好 ,但是能表达想要表达的效果
RecyclerView的点击事件-----附加长按弹框Dialog
点击事件 定义 public class RecyclerViewClickListener implements RecyclerView.OnItemTouchListener {     private int mLastDownX,mLastDownY;     //该值记录了最小滑动距离     private int touchSlop ;     private
Android RecyclerView中实现ChecckBox单选的正确方式
以前使用recyclerView时,如果item中有单选框需要选中,一般的实现方式是创建一个boolean类型的ArrayList用来存储列表中每个item的checkBox是否选中,设置一个标志位mCurrentPosition来记录当前被选中的checkBox的item的position,然后在每次点击item时,设置ArrayList的list中mCurrentPosition(也就是上一次选
RecyclerView中含有CheckBox多选、单选和RadioGoup全解
前言我们之前在使用ListView时,经常遇到含有CheckBox实现多选或者RaidoButton实现单选的问题,我们常使用的办法就是记着选择位置,当然在RecyclerView中原理是一样的,这里记录一下! 还有就是讨论一下,如果item中含有RadioGroup,而不是单选RadioButton,列表中check错乱的问题!CheckBox多选和Radio单选这两个原理一样,这里就以Chec
RecyclerView嵌套RecyclerView实现长按单选功能
简介 公司项目要实现一个复杂列表,并且单选的功能。 RecyclerView嵌套RecyclerView,外层的 RecyclerView是竖直方向,内层的 RecyclerView 是横向的滑动 解决滑动的冲突卡顿现象 实现内层条目长按选中,单击取消选择 走的弯路:设置setFocusableInTouchMode等网上的一些方法都没凑效 先看效果图 关键代码 建立缓存池缓存 View ...
RecyclerView 复用出现 CheckBox 或者 设置背景混乱问题
RecyclerView 复用出现 CheckBox 或者 设置背景混乱问题 由于RecyclerView 与ListView 都使用了复用技术,所以会出现滚动后出现CheckBox选中混乱或者是Item的背景混乱问题。 解决办法: 1.在onBindViewHolder(...) 方法中添加下面代码 ViewHolder.setIsRecyclable(f
为RecyclerView添加点击事件、长按事件
为RecyclerView添加点击事件、长按事件
对话框 适用于recyclerView点击Item中的按钮弹出
//item里面的控件点击后弹出 private void showPop(final Order data) { if (popupDialog == null) { popupDialog = new PopupDialog(getContext(), R.layout.dialog_delete, new View.OnClickListener() {
Android ListView长按弹出CheckBox,实现全选,反选,批量删除功能
ListView长按弹出CheckBox,实现全选,反选,批量删除功能. 主布局:activity_main xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 都人工智能培训 产品经理都学什么