将新项目添加到RecyclerView的顶部

Chr*_*ank 16 android scroll add android-recyclerview

我正在以编程方式向recyclerview位置0添加一个项目

public void addQuestion(Question question){
    this.questionList.add(0, question);
    notifyItemInserted(0);
}
Run Code Online (Sandbox Code Playgroud)

这项工作非常好,项目确实出现在顶部的列表中,但用户必须向上滚动才能看到新项目.

是否有任何技巧如何项目出现在顶部,Recyclerview自动滚动?

Max*_*Max 18

你可以使用 mRecyclerView.smoothScrollToPosition(int position)

例:

public void addQuestion(Question question){
    this.questionList.add(0, question);
    notifyItemInserted(0);
    mRecyclerView.smoothScrollToPosition(0);
}
Run Code Online (Sandbox Code Playgroud)

更新:

如果你想让滚动到某个项目非常顺利,你可以看看这个问题的答案

RecyclerView - 如何在某个位置平滑滚动到项目顶部?

  • 如果当前的项目数超过列表显示的数量,那么“ smoothScrollToPosition(0)”将滞后(这就是我的经验)。我只是使用了`scrollToPosition(0)`,它对“平滑度”没有影响 (2认同)