java - Recyclerview 继续滚动到位置

标签 java android-recyclerview

我有一个按钮可以停止和启动回收器 View 的自动滚动。它确实工作正常,但是当我手动滚动然后单击按钮开始自动滚动时,它确实从头开始。我怎样才能让它继续在该位置滚动?

这是启动自动滚动的函数

public void startAutoScroll() {
    final RecyclerViewAdapter myadapter = new RecyclerViewAdapter(this, lstUserCard);
    final int speedScroll = 2400;
    final Handler handler = new Handler();
    if (timer == null && timerTask == null) {
        timer = new Timer();
        timerTask = new TimerTask() {
            int count = 0;
            boolean flag = true;

            @Override
            public void run() {
                if (count < myadapter.getItemCount()) {
                    if (count == myadapter.getItemCount() - 1) {
                        flag = false;
                    } else if (count == 0) {
                        flag = true;
                    }
                    if (flag) count++;
                    else count--;

                    recyclerView.smoothScrollToPosition(count);
                    handler.postDelayed(timerTask, speedScroll);
                }
            }
        };

        handler.postDelayed(timerTask, speedScroll);
    }
}

希望得到一些建议,提前致谢。

最佳答案

每次启用/禁用自动滚动时,您都需要获取索引并恢复索引。

获取当前顶部可见行索引;

int index = linearLayoutManager.findFirstVisibleItemPosition(); 
View v = linearLayoutManager.getChildAt(0); 
int top = (v == null) ? 0 : (v.getTop() - linearLayoutManager.getPaddingTop());

将recyclerview恢复到该索引;

linearLayoutManager.scrollToPositionWithOffset(top, 0);

关于java - Recyclerview 继续滚动到位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388811/

相关文章:

java - 如何为RecyclerView设置BaseAdapter?

java - 使用组和子复选框创建可扩展 ListView

java - uri 解析具有私有(private)访问修饰符

java - android.view.InflateException 二进制 XML 文件行 #0 : Error inflating class <unknown> Caused by: java. lang.reflect.InitationTargetException

android - 将交替的 onClickListener 设置为 Recyclerview 项目

android - 在 recyclerview 中附加 onClickListener 的最佳位置

java - 替换字符串中的单词,同时保留原始单词的大小写

java - 为什么 java string hashCode 在不同但相似的 geohash 字符串上有很多冲突?

java - 是否可以使用表示 firestore 文档中字段的字符串列表构建查询?

Android - 如何动态更改 Recyclerview 高度?