在向上滚动之前,在第一个位置插入的项目不可见

问题描述 投票:1回答:2

场景:

  • 我的适配器支持两种不同的视图类型:A和B.
  • 适配器被通知大约100个类型A的项目 - 一切都正确呈现
  • notifyItemRangeInserted位置使用0通知适配器有关B类型插入的一个项目 - 默认情况下此项目是“不可见的”,为了看到它我必须手动向上滚动。

如何才能让“B”的第一项“自动”显示?

android android-recyclerview recyclerview-layout
2个回答
4
投票

您可以在B类型的通知项后使用此行代码:

yourRecyclerView.smoothScrollToPosition(0);

1
投票

使用https://stackoverflow.com/a/54899984/8144663只会解决您的问题。

你需要在下一帧中调用smoothScrollToPosition(),比如

recyclerview.post(new Runnable() {
            @Override
            public void run() {
                 recycleview.smoothScrollToPosition(n);
            }
        });
© www.soinside.com 2019 - 2024. All rights reserved.