[英]Bug RecyclerView.scrollToPosition(list.size()-1) in Dialog
[英]recyclerview.scrollToPosition(adapterarray.size()-1) causes to bring the items in reversed order
我正在使用 Android Studio。
我的 recylview 及其适配器运行良好。 我的 recyclerview 因为它的设计只能有 6 行。 所以从 1 到 6 的项目显示完美。 添加第 7 项时,它不在 recyclerView 边框之外,因此我应该手动滚动它以查看第 7 行。 我决定让它自动滚动到 recyclerView 的最后一个项目行。 这意味着最后 6 行(假设有 10 个项目,因此应自动显示第 5、6、7、8、9、10 行。
为了做到这一点,我在recyclerview.setAdapter(adapter);
行之后添加了以下行
recyclerView.scrolltoposition(adapterarray.size()-1)
但是现在,这些项目以相反的顺序显示。 最后一项位于 recylerVeiw 的顶部。 似乎 scrolltoposition 不仅对 recyclerVievitself 排序,而且对适配器排序。
如果超过 6 行,在 recyclerView 中添加新项目后如何简单地执行自动滚动?
尝试这样的事情:
recyclerView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
if (bottom < oldBottom) {
recyclerView.postDelayed(new Runnable() {
@Override
public void run() {
recyclerView.smoothScrollToPosition(adapter.getItemCount());
}
}, 100);
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.