如何使新插入的行位于 ListView 之上(Android Studio)

Posted

技术标签:

【中文标题】如何使新插入的行位于 ListView 之上(Android Studio)【英文标题】:How to make new inserted rows become on top of ListView (Android Studio) 【发布时间】:2019-08-10 18:19:19 【问题描述】:

当我在 ListView 中插入新行时,通常会默认将它添加到 ListView 的底部。我可以把它倒过来吗?我希望新添加的行位于顶部,或者我可能会说我希望 ListView 按时间降序排列。 有没有办法从 ListView 设置中实现它?或者它与与ListView连接的List有关? 我搜索了一下,我只能找到“stackFromBottom”,它使 ListView 的视图向下滚动并从底部开始显示,这与我想要的不同。

【问题讨论】:

试试这个,Collections.reverse();可能对你有用。 你在使用recyclerview吗? 在设置为适配器之前反转您的阵列。 【参考方案1】:

您可以使用带有索引的添加功能将行添加到顶部。

例子:

items.add(0, obj)

在适配器内部,您有将行添加到顶部(索引 0)并调用的项目列表

notifyiteminserted 或 notifydatasetchanged

可能重复 Add new items to top of list view on android?

【讨论】:

【参考方案2】:

你可以通过多种方式做到这一点

1.您可以使用Collections功能。在您的列表中添加项目后,调用Collections.reverse() 然后更新您的ListView

2.您可以将您的列表设置为add(0,value) 0 no position 然后更新您的ListView

【讨论】:

以上是关于如何使新插入的行位于 ListView 之上(Android Studio)的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表视图之上设置选项卡布局但在 Android 中不覆盖?

如何在 ListView 的项目构建器之前添加初始小部件,或者如何在 ListView.itemBuilder 之上注入小部件?

Handsontable 使新插入的单元格可编辑,而已加载具有只读值的单元格

如何让每个 customLabel 在自己的行上?

Xamarin.Forms 将行插入网格并重新排列

如何在 ListView.Builder 中右对齐卡片中的行?