在第一个位置插入的项目在向上滚动之前是不可见的
Item inserted at first position is not visible until scrolling up
场景:
- 我的适配器支持两种不同的视图类型:A 和 B
- 适配器收到关于 100 个类型 A 的通知 - 一切都正确呈现
- 适配器收到有关 B 类插入项的通知,使用
notifyItemRangeInserted
在位置 0
- 此项目是 "invisible"
默认情况下,为了看到它,我必须手动向上滚动。
如何才能让第一个类型 B "automatically" 可见?
通知类型B后可以使用这行代码:
yourRecyclerView.smoothScrollToPosition(0);
仅使用 无法解决您的问题。
您需要在下一帧中调用 smoothScrollToPosition(),例如,
recyclerview.post(new Runnable() {
@Override
public void run() {
recycleview.smoothScrollToPosition(n);
}
});
场景:
- 我的适配器支持两种不同的视图类型:A 和 B
- 适配器收到关于 100 个类型 A 的通知 - 一切都正确呈现
- 适配器收到有关 B 类插入项的通知,使用
notifyItemRangeInserted
在位置0
- 此项目是 "invisible" 默认情况下,为了看到它,我必须手动向上滚动。
如何才能让第一个类型 B "automatically" 可见?
通知类型B后可以使用这行代码:
yourRecyclerView.smoothScrollToPosition(0);
仅使用
您需要在下一帧中调用 smoothScrollToPosition(),例如,
recyclerview.post(new Runnable() {
@Override
public void run() {
recycleview.smoothScrollToPosition(n);
}
});