如何使新插入的行位于 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 之上注入小部件?