RecyclerView获取最后一个可见item位
时间: 2023-11-16 07:32:46 浏览: 45
获取RecyclerView最后一个可见item的位置,可以通过LayoutManager的子类提供的方法来实现。以下是三种LayoutManager的实现方式:
1. LinearLayoutManager
```java
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
int lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition();
```
2. GridLayoutManager
```java
GridLayoutManager layoutManager = (GridLayoutManager) recyclerView.getLayoutManager();
int lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition();
```
3. StaggeredGridLayoutManager
```java
StaggeredGridLayoutManager layoutManager = (StaggeredGridLayoutManager) recyclerView.getLayoutManager();
int[] lastVisibleItemPositions = layoutManager.findLastVisibleItemPositions(null);
int lastVisibleItemPosition = getLastVisibleItem(lastVisibleItemPositions);
```
其中,getLastVisibleItem(int[] lastVisibleItemPositions)方法的实现如下:
```java
private int getLastVisibleItem(int[] lastVisibleItemPositions) {
int size = lastVisibleItemPositions.length;
int maxSize = -1;
for (int i = 0; i < size; i++) {
if (lastVisibleItemPositions[i] > maxSize) {
maxSize = lastVisibleItemPositions[i];
}
}
return maxSize;
}
```
这三种方式都可以获取最后一个可见item的位置,具体使用哪种方式取决于你使用的LayoutManager类型。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)