android - 如何在单击按钮时移动到 recyclerview 中的下一个对象

标签 android android-recyclerview

单击按钮时,我想移动到 recyclerview 中的下一个对象。我尝试使用 scrollToPosition 但我不知道如何获得对象的当前位置。如果我在那里输入一个数字,那么它就可以工作,但它只会跳到那个位置。

我用来滚动的代码

layoutManager.scrollToPosition(2);

最佳答案

LinearLayoutManager - 像 findLastCompletelyVisibleItemPosition() 这样的方法并检查 AdapterItems 的大小并滚动到下一个(如果 findLast < adapter.itemsSize 则 +1)。很简单的逻辑。

LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);

按钮点击逻辑:
btnClick.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        if (layoutManager.findLastCompletelyVisibleItemPosition() < (adapter.getItemCount() - 1)) {
            layoutManager.scrollToPosition(layoutManager.findLastCompletelyVisibleItemPosition() + 1);
        }

    }
});

在你的 RecyclerView 扩展适配器中,你应该有这样的东西:
@Override
public int getItemCount() {
    return yourData != null ? yourData.length() : 0;
}

关于android - 如何在单击按钮时移动到 recyclerview 中的下一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724643/

相关文章:

Android - ProgressBar 的次要进度是什么?

android - 在android交错网格布局中添加水平全屏卡片

android - RecyclerView 和自定义项目类型

java - 拉动刷新 RecyclerVIew 适配器不工作

android - RecyclerView 添加新项目时滚动返回到列表顶部

android - 如何在 Firebase 中添加数组值

Android 相机预览帧时间戳

android - 从 CalendarContract 获取与会者详细信息

android - 如何在 Snackbar 的 RecyclerView.Adapter 中获取 View ?

android:如何加载和显示大图像(A0 大小)- 就像谷歌地图一样?