首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

羊皮书APP(Android版)开发系列(二十)Activity响应ListView,GridView 内部按钮点击事件

业务稍微复杂一点的界面,ListView,GridView等的Adapter中都会有内部按钮,需要处理内部按钮点击事件。...而Adapter和Activity是分离的(不要将Adapter写在Activity里面),这时候,我们可以使用回调来实现Activity响应ListView,GridView 内部按钮点击事件。...的getView设置点击事件 viewHolder.students_quality_delete_bt.setOnClickListener(new View.OnClickListener()...响应按钮点击事件了 public class HistoryActivity extends Activity implements Callback { @Override public...void click(View v){ L.e("响应按钮点击事件"); } ... } 通常点击事件都会带有一些参数,这个时候只要在接口Callback的click上直接加参数即可

1.4K30

界面无小事(三):用RecyclerView + Toolbar做个文件选择器

前言 github传送门 之前两期也是说了很多RecyclerView的使用, 这期打算来个实操性质的....文件 ---- RecyclerView适配器 具体的使用在之前文章里面也细说过了. 这里来看两个关键函数. 我们的填充内容主要是当前目录下全部的files, 存放在ArrayList当中..... mCurFileList用来存储当前展开文件夹的内容. mSelectPath用来存储勾选的文件....一个比较重要的就是, 在当前的mSelectPath需要进行确认, 如果已经存在就删除这个选择, 如果不存在, 就选择这个文件, 这个逻辑也是很好理解的. ---- 悬浮按钮 这个也是非常常用的一个视图类...如果你点击了悬浮按钮, 就会弹出确认窗口, 关于弹窗, 可以查看我之前的文章. 这里就上一张效果图了. ? 悬浮按钮 ?

50420
您找到你想要的搜索结果了吗?
是的
没有找到

RecyclerView中使用CheckBox出现勾选混乱的解决方法

首先当然是创建一个项目,然后activity_main添加一个RecyclerView控件,当然,在这之前,我们需要先添加RecyclerView的依赖,如下图: ?...下面我们就来着手解决这个问题,其实要解决也很简单,可以定义一个boolean类型的数组或者列表,用它来控制CheckBox的选中状态,当某个CheckBox被选中的时候将其选中状态记录在数组列表,当某个...CheckBox滚动到屏幕上的时候,再用数组列表对应的值把它的选中状态改回来就好了,修改后的代码如下: public class MainActivity extends AppCompatActivity...,然后设置CheckBox的选中监听器,把null作为参数传进去,然后用数组的值设置对应CheckBox的选中状态,最后再一次设置CheckBox的选中监听器,把CheckBox的选中状态储存在数组的相应位置...CompoundButton compoundButton, boolean b) { flag[position] = b; } }); //设置监听器,当按钮点击

1.7K20

RecyclerView 删除元素后,点击报 IndexOutOfBoundsException 解决方法

点击事件的注册是 RecyclerView 的 onBindViewHolder : public void onBindViewHolder(BuyCarPlanItemViewHolder holder...也就是说 onBindViewHolder() 方法的位置参数 position 不是实时更新的,所以我们删除元素后,item 的 position 没有改变。...ViewHolder 和 RecyclerView 的关系我们知道,就是存储、复用指定位置对于的 ItemView。...RecyclerView 一般情况下不会处理任何 adapter 的更新,除非重新绘制界面。这导致有时候用户想象的和实际 RecyclerView 呈现的不一致。...applyPendingUpdatesToPosition() 方法里针对我们对 RecyclerView Item 不同的操作,对元素的位置有了响应的加减,保证拿到的是最准确的位置。

2.1K60

AndroidRecyclerView实现动态添加本地图片

(new GridLayoutManager(this, 3)); 然后设置适配器(这里代码里面有详细的注释): public class PassengerAdapter extends RecyclerView.Adapter...; private View view; /** * 构造方法传入图片地址的数据 * @param context * @param imageUrls */ public PassengerAdapter...); imageViewSmall = (ImageView) itemView.findViewById(R.id.imageViewSmall); /** * * 因为元素是变化的,动态的,所以对点击事件的处理放在...="@mipmap/del" android:layout_gravity="right"/ </FrameLayout </FrameLayout 配置recyclerview和设置点击事件 recyclerview...imageUrls.set(pos,paths.get(0)); passengerAdapter.notifyItemChanged(pos); } } } } 大概就是这样了,简单的说一下思路,就是存储图片的

1.7K20

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

、项目实现,布局文件     1、demo中一共用到两个activity 对应两个布局文件      先看扫描设备界面      包含:       1、一个列表,显示 所有扫描到的设备的MAC地址,点击状态...''已选择' or '‘未选择’ 之间改变,表明当前设备有没有加入到需要连接的设备集合      2、扫描按钮      3、结束扫描按钮      4、完成选择按钮,将选择的设备MAC地址传回 ...(); }     (4)、RecyclerView初始化 ,点击事件操作 recyclerView = (RecyclerView) findViewById(...:'选择需要连接的传感器设备'、跳转新界面 2、点击'开始扫描'按钮,会出现很多设备的mac地址 ,以列表的新式展现 3、对列表item操作,更改状态'已选择'or'未选择' 4、点击按钮'完成选择设备...'按钮,将列表状态为'已选择'的mac集合传回上个界面 5、点击'开始连接'按钮

5K70

揭开RecyclerView庐山真面目

那么来学习Android 5.X新增的一个列表组件,那就是RecyclerView的使用。 ?...开发RecyclerView时充分考虑了扩展性,因此用它可以创建想到的任何种类的的布局。但在使用上也稍微有些不便,比如使用步骤更加复杂,特别是一些控制点击、长压事件需要自己完成。...GridLayoutManager:在网格展示条目,相当于之前学习的GridView。 StaggeredGridLayoutManager: 错落的网格展示条目,比如常见的瀑布流。...弹出的窗口中输入recyclerview,然后点击右侧的搜索按钮,即可检索到最新的recyclerview依赖库,最后点击OK按钮即可添加。 ?...可以看到Dependencies页面的列表里面已经成功添加了recyclerview依赖库,点击OK按钮最终确认。 ?

1.8K80

Android开发:ListView、AdapterView、RecyclerView全面解析

特征: AdapterView继承自ViewGroup,本质是个容器 AdapterView可以包含多个“列表项”,并将多个列表项以合适的形式展示 AdapterView显示的列表项内容由Adapter...ArrayAdapter 定义 简单、易用的Adapter,用于将数组绑定为列表项的数据源,支持泛型操作 步骤 1. xml文件布局上实现ListView <?...getItem()和getItemId()则在需要处理和取得Adapter的数据时调用。 那么getView()如何使用呢?如果有10000行数据 ,就绘制10000次?...*/ ArrayList> listItem = new ArrayList>();/*在数组存放数据...Viewholder里面设置了点击事件监听器 2. 通过调用OnItemClickListener的接口方法回调MainActivity里的方法。

3.4K30

Android从零单排系列二十】《Android视图控件——ListView》

可以布局文件添加控件来显示列表项的各个元素。 添加数据:通过适配器向ListView添加数据,可以使用适配器的方法(如add()、addAll())添加单个多个数据项。...推荐新项目中使用RecyclerView,它提供了更多的定制选项和优化功能。...> parent, View view, int position, long id) { // 处理列表项的点击事件 } }); onItemClick()方法,可以根据需要进行相应的操作...ArrayAdapter:ArrayAdapter是基于数组的简单适配器,用于将数据与ListView绑定。它适用于静态的、固定长度的数据集合,例如字符串数组整数数组。...同时,你还可以添加点击事件监听器来处理ListView列表项的交互操作。 五 总结 istView是Android开发中常用的列表视图控件,用于展示大量数据并实现用户的垂直滚动浏览。

51310

Android RecyclerView使用简述

添加长按事件 ⑥ 多个子控件点击事件 三、RecyclerView + ViewBinding使用 ① 适配器 ② 显示数据 ③ 添加控件点击和长按 四、RecyclerView + DataBinding...点击Finish完成项目创建,然后等待项目构建完成,之前的AndroidRecyclerView是需要引入依赖库的,会有v4,v7版本的库,而现在都迁移到androidx下了,目前项目构建的时候也会自动添加这个...⑥ 多个子控件点击事件   有时候一个Item里面会有多个子控件,每一个都需要有点击事件,这是很常见的事情,那么我们应该怎么做呢?...,正常情况下这个RecyclerView隐藏,可以通过点击group的布局控制RecyclerView显示隐藏,里面还用了一个图标来增加显示和隐藏的效果,drawable下新增ic_right.xml...,对RecyclerView是否隐藏做判断,首先是修改图标,然后是修改RecyclerView是显示还是隐藏,也是比较简单的代码,但是有效,这里的点击事件处理适配器处理会更简单,所以就直接处理了。

2.3K21

RecyclerView技术栈参考资料:

设置数据源 - LisView针对不同数据封装了各种类型的Adapter,比如用来处理数组的ArrayAdapter和用来展示Database结果的CursorAdapter。...设置条目分割线 - ListView可以通过设置android:divider属性来为两个Item间设置分割线。...设置点击事件 - ListView存在AdapterView.OnItemClickListener接口,用来绑定条目的点击事件。...但是,很遗憾的是RecyclerView,并没有提供这样的接口,不过,提供了另外一个接口RcyclerView.OnItemTouchListener,用来响应条目的触摸事件。...ItemAnimator作触发于以下三种事件: 某条数据被插入到数据集合 从数据集合移除某条数据 更改数据集合的某条数据 幸运的是,Android默认实现了一个DefaultItemAnimator

1.2K10

Android从零单排系列四十七】《Android自定义adapter的实现方法》

交互处理:适配器可以处理用户与 UI 控件交互的事件,例如点击、长按等操作。... Android ,常见的适配器有以下几种: BaseAdapter:是一个抽象类,提供了创建自定义适配器的基本实现,可以通过重写方法来定制适配器功能。...ArrayAdapter:是 BaseAdapter 的子类,适用于简单的数据集合,它将数组列表的每个项都作为一个单一的文本视图显示。...二  adapter的缺点 适配器(Adapter) Android 开发是常用的模式,但它也有一些缺点: 复杂性:适配器模式实现上可能会增加代码复杂性。...可以通过构造方法传入数据源,或者适配器内部定义变量来存储数据源。 使用自定义适配器:需要显示数据的界面上,实例化并使用自定义适配器。

31610

Material Design 实战 之第四弹 —— 卡片布局

然后app/build.gradle文件声明RecyclerView、CardView这几个控件对应的库的依赖: compile 'com.android.support:recyclerview-v7...,从而使得RecyclerView的每个元素都是卡片当中的。...mDrawerLayout.closeDrawers();//关闭滑动菜单 return true; } }); //悬浮按钮点击事件...定义了一个数组数组存放多个Fruit的实例,每个实例代表一种水果; initFruits()方法,先清空fruitList的数据,再使用一个随机函数,从刚才定义的Fruit数组随机挑选一个水果放入到...又会根据当前滚动的距离情况,做出消失或者重新出现的反应; 这其实也是MaterialDesign的一项重要设计思想,因为当用户向上滚动RecyclerView的时候,其注意力肯定是RecyclerView

2.1K10

RecyclerView点击事件处理

实际运用,无论是List还是Grid效果,基本都会伴随着一些点击操作,那么本期就来一起学习RecyclerView点击事件。 ?...介绍RecyclerView开篇的时候简单提到过,要实现一些控制点击、长压事件需要自己完成,不像之前学的ListView有自带ClickListener和LongClickListener,但其实更加灵活多样...,当有事件发生时,则可以回调到Activity,然后即可完成相应的处理。...设置监听事件和响应监听事件,RecyclerViewActivity修改后的代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample;...这里只简单监听了item的2个TextView视图,如果需要整个item做事件处理,或者其中某一个即可,和上面的案例相同的原理,可以自己练习。

4.7K90

Android实现微信的图片选择器

上传图片需要先从选择手机中选择要上传的图片,所以图片选择器App是很常见的组件,一般的手机都会自带一个图片选择器。不过很多App并不喜欢用手机自带的选择器,而是自己实现一个图片选择器。...至于ImageSelector的使用,我的另一篇文章中有 详细的介绍:《Android 仿微信的图片选择器ImageSelector的使用》 。 先上效果图: ?...要实现一个图片选择器,需要做的主要就是以下几个事情: 1、从手机存储扫描加载图片。 2、用一个列表将图片显示出来。 3、选择图片。 4、把选中的图片返回给调用者。...读取手机存储卡需要先申请权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" / 对Android...showExceptionDialog(); } } } 接着就是从手机存储扫描加载图片。 /** * 从SDCard加载图片。

1.1K31

AndroidRecyclerView嵌套RecyclerView

前言 这两天在做一个新的APP,考虑用户体验上要一个两级的列表嵌套,于就想看看RecyclerView是否能做出这样的效果,自己写了一个DEMO来做一下测试,最后的效果还是比较满意的。...---- 创建最底层的RecyclerView 布局文件 我们layout下新建一个rcl_item.xml ? <?xml version="1.0" encoding="utf-8"?...,当点击测试按钮后,源数据集里面名称会后面加上“被点击了”的字符显示出来,可以看到显示效果 ?...---- 创建顶层的RecyclerView 布局文件 layout下创建一个rcl_main.xml文件 ? <?xml version="1.0" encoding="utf-8"?...通过上面两个图我们可以看出来,点击Item的列表里面的测试按钮后,我们的显示已经更新了,并且重新点击显示数据,我们的源数据集也随之更新数据了。 -END-

7.5K30
领券