安卓回收视图:在项目上,插入向上而不是向下推



假设我有一个包含很多项目视图的回收器视图:[a, b, c, d, e, ...] .如果要在bc之间插入新的 ItemView X,我会更新基础集合并调用 notifyItemInserted(2) 。我现在有[a, b, X, c, d, e, ...].

我的问题是,当X出现时,它会将每个视图推到自己之后(将e推出屏幕),我需要它将每个视图推到自身之前(将a推出屏幕)。

有没有办法这样做?

发生这种情况是因为LinearLayoutManager将列表的开头视为锚点位置。如果希望列表末尾作为锚点位置,可以设置 stackFromEnd = true; 。在这种情况下,当列表首次加载时,您将看到;

V W X Y Z // assuming alphabet is your list of items

这是对话应用等应用的常见情况。

如果您希望它在stackFromEnd设置为 true 时从头开始,则可以在初始化适配器时调用scrollToPosition(0)

最新更新