我正在以编程方式向recyclerview位置0添加一个项目
public void addQuestion(Question question){
this.questionList.add(0, question);
notifyItemInserted(0);
}
Run Code Online (Sandbox Code Playgroud)
这项工作非常好,项目确实出现在顶部的列表中,但用户必须向上滚动才能看到新项目.
是否有任何技巧如何项目出现在顶部,Recyclerview自动滚动?
我有一个RecyclerView带滚动条的不同高度的项目.由于项目的高度不同,滚动条会更改其垂直大小,具体取决于当前显示的项目(请参见屏幕截图).我创建了一个示例项目,在这里显示问题.
编辑:滚动条的位置和高度可以通过覆盖进行控制RecyclerViews computeVerticalScrollOffset,computeVerticalScrollRange并computeVerticalScrollExtent.我不知道如何实现这些以使滚动条与动态项目高度正常工作.
我想,问题是RecyclerView根据当前可见的项目估算所有项目的总高度,并相应地设置滚动条的位置和高度.解决这个问题的一种方法可能是更好地估计所有物品的总高度.