文档章节

RecyclerView和LinearLayoutManager经常用到的几个方法

fantasiter
 fantasiter
发布于 2016/06/14 17:15
字数 204
阅读 3436
收藏 2
我们在做RecyclerView刷新或者加载数据的时候通常会用到几个方法,现在整理出来:

    首先我们需要明确一个定义,在RecyclerView里可见性的定义指的是Item露出一部分,这个Item就是可见的.完整可见性:指的是整个Item都可以在屏幕里展示出来,没有被别的控件遮挡
    首先是RecyclerView.Adapter:
    1. getItemCount():返回Adapter当前持有的Item的数量,等于List数据源的数目.

    RecyclerView:
    1. getChildCount():获取可见的Item的数量.
    2. findViewHolderForAdapterPosition(position):获取position处Item绑定的ViewHolder

    LinearLayoutManager:
    1. findFirstVisibleItemPosition():获取第一个可见Item的Position.
    2. findFirstCompletelyVisibleItemPosition():获取第一个完全可见Item的Position.
    3. findLastVisibleItemPosition():理解同1
    4. findFirstCompletelyVisibleItemPosition():理解同2

© 著作权归作者所有

fantasiter
粉丝 1
博文 117
码字总数 24978
作品 0
青岛
私信 提问
RecyclerView自适应item高度

几个问题,简单搞定高度。 首先,需要自定义一个LinearLayoutManager,这里RecyclerView在onMeasure回调中会调用LinearLayoutManager的onMeasure方法,所以需要在LinearLayoutManager的onMea...

Turman
2016/04/01
10.8K
0
android之recyclerview的基本使用

Google在推出Android5.0的时候推出了Material Design ,而RecyclerView是Material Design 重要组件之一。当然还有CardView/Palette。 RecyclerView是用来替换传统的ListView和GridView,瀑布流...

墨宇hz
2016/03/21
0
0
自定义RecyclerView.ItemDecoration,实现Item的等间距分割以及分割线效果

1.背景   RecyclerView是谷歌V7包下新增的控件,用来替代ListView和GridView使用的一个控件。在使用的过程中,往往需要使用到divider的效果(item之间的分割线)。而RecyclerView并不像Lis...

请叫我百米冲刺
2016/12/07
0
0
关于RecyclerView你知道的不知道的都在这了(上)

最近打算花点精力来研究 RecyclerView 这个控件架构和原理,对我来说,难度很大,我不清楚最后能不能彻底搞清楚,这个系列的博客会不会被太监,但我会尽我最大努力,并将这整个过程分享出来。...

请叫我dasu
2018/06/10
0
0
RecyclerView addItemDecoration 的妙用 - item 间距平均分布和添加分割线

前言 RecyclerView,在开发当中使用非常频繁的一个控件,今天,主要讲解以下两个问题 添加分割线 item 间距的平均分布 addItemDecoration 方法简介 我们先来看一下 addItemDecoration 方法 ...

xujun9411
04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
今天
58
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
今天
27
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
今天
61
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
今天
57
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
今天
50
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部