首页 > 其他分享 >在外层获取Adapter中的控件

在外层获取Adapter中的控件

时间:2023-05-15 15:32:52浏览次数:38  
标签:控件 外层 Adapter showRecord iv OnGlobalLayoutListener recyclerView LinearLayout


在 activity / fragment 获取其中 adapter 中的控件:

需要注意的是:在获取 adapter 控件时,需要等待 recyclerView 绘制完成,才可以获取到,否则会报空指针异常;

所以需要添加 OnGlobalLayoutListener 和 addOnGlobalLayoutListener 监听方法。

recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver
                .OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
                //下面序号是需要获取的第几个item
                View view = layoutManager.findViewByPosition(2);

                //我的adapter中最外层是LinearLayout,如果你的不是,请用对应的布局
                LinearLayout layout = (LinearLayout) view;
                ImageView iv_showRecord = layout.findViewById(R.id.iv_showRecord);
                iv_showRecord.setVisibility(View.VISIBLE);

                //OnGlobalLayoutListener可能会被多次触发
                //所以完成了需求后需要移除OnGlobalLayoutListener
                recyclerView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
            }
        });


标签:控件,外层,Adapter,showRecord,iv,OnGlobalLayoutListener,recyclerView,LinearLayout
From: https://blog.51cto.com/u_16113862/6279050

相关文章

  • labview好看的动态启动界面,涉及二维图片写入,控件移动 ,动态调用等知识点,适合新手研究学
    labview好看的动态启动界面,涉及二维图片写入,控件移动,动态调用等知识点,适合新手研究学习。注:1.软件版本为2018版ID:6920613766485228......
  • js计算一个矩形内部,有一个等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形
    最近在做jscanvas绘图需求时,遇到一个矩形图形重叠逻辑判断问题。一个任意矩形内部,有一个任意等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形?宽和高那个先贴到边上?可以根据两个矩形的比例关系来判断宽和高那个先溢出。首先计算出两个矩形的宽高比,然后比较它们的大小关系。......
  • js计算一个矩形内部,有一个等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形
    最近在做jscanvas绘图需求时,遇到一个矩形图形重叠逻辑判断问题。一个任意矩形内部,有一个任意等比缩放的矩形,如何判断宽和高那个先溢出外层的矩形?宽和高那个先贴到边上?可以根据两个矩形的比例关系来判断宽和高那个先溢出。首先计算出两个矩形的宽高比,然后比较它们的大小关系。......
  • vs2022+qt 通过qss文件给QPushButton控件设置样式
    新建QSS文件1)在Qt项目文件夹中,“右键”---“新建”---“文本文档”,并将其改成.qss后缀在里面写入样式信息:/*正常状态或者鼠标松开按钮的状态,按钮颜色*/QPushButton{background-color:rgb(240,255,255);color:rgb(0,0,2);border-style:outset;bo......
  • 适配器模式(Adapter Pattern)
    模式动机适配器模式(AdapterPattern)是一种使用频率非常高的结构型模式,如果在系统中存在不兼容的接口,可以通过引入一个适配器来使得原本因为接口不兼容而不能一起工作的两个类可以协同工作。适配器模式中适配器的作用与现实生活中存在的电源适配器、网络适配器等作用相同。在引入......
  • delphi StyleControl中DB控件的使用说明
    这两天听大佬说"可视化绑定"的效率很低,再加对下拉菜单,单选,复选框等控件绑定操作的未知,于是我决定把普通组件,改为DB组件. 正常来讲,基本上所有DB组件只要设置好了数据源和字段绑定,就能显示数据来, 但是我这边就出现了一点意外,源于对sqlite数据库认知度不够的原因......
  • 获取鼠标位置和控件区域
    procedureTForm1.scSplitView1MouseEnter(Sender:TObject);beginifscSplitView1.OpenedthenExit;scSplitView1.Opened:=True;Label1.Visible:=True;Label2.Visible:=True;end;procedureTForm1.scSplitView1MouseLeave(Sender:TObject);varP:TPoin......
  • C# WinForm 控件美化之改变ListView Head 的背景色
    方法1:(已测试)给ListView添加以下事件,改实例DataList为控件名称privatevoidDataList_DrawColumnHeader(objectsender,DrawListViewColumnHeaderEventArgse){e.Graphics.FillRectangle(newSolidBrush(Color.Black),e.Bounds);//设置背景颜......
  • 转载:用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法
    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。 1应用场景OA办公中,经常要在文档的指定位置表格,填充后端指定数据。如word文档中,表格数据   如下表格中 人员信息人员信息表公司名称部门名称员工姓名A公司开发部李......
  • DataGridView控件的显示效率
    C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题。(1)采用virtualmode,不要使用datagridview1.datasource=dt如何使用虚拟模式,参见https://blog.csdn.net/qq_30122639/article/details/53739607和https://bbs.csdn.net/topics/390......