从下到上滚动的Android ListView?

从下到上滚动的Android ListView?,android,listview,android-listview,scroll,Android,Listview,Android Listview,Scroll,我想构建一个与普通ListView类似的ListView,不同的是第一个项目位于底部并向上生长,而不是第一个项目位于顶部并向下生长 当然,我可以使用普通的ListView,颠倒适配器的顺序,让它滚动到列表上的最后一项。。。但这在很多方面都不雅观,尤其是在添加新行时 例如,我希望ListView能够记住位置,但是位置是从底部而不是从顶部。因此,如果他们在底部,他们应该保持在底部,但是如果他们从底部向上看3,当添加新项目时,他们应该仍然在看该项目。(正常情况下它在ListView中的工作方式正好相反

我想构建一个与普通ListView类似的ListView,不同的是第一个项目位于底部并向上生长,而不是第一个项目位于顶部并向下生长

当然,我可以使用普通的ListView,颠倒适配器的顺序,让它滚动到列表上的最后一项。。。但这在很多方面都不雅观,尤其是在添加新行时

例如,我希望ListView能够记住位置,但是位置是从底部而不是从顶部。因此,如果他们在底部,他们应该保持在底部,但是如果他们从底部向上看3,当添加新项目时,他们应该仍然在看该项目。(正常情况下它在ListView中的工作方式正好相反。)

想知道是否有人有任何聪明的技巧来扭转Android ListView的极性


这方面的经典用例是聊天消息列表,其中最新的消息位于底部,项目通常添加到底部。如果有人在列表的末尾,当收到新消息时,他们仍然希望在列表的末尾。但是,如果他们从底部滚动,他们不希望他们的滚动位置被随机重置。

啊,AblistView具有以下属性:

android:stackFromBottom=“true”


这似乎正是我想要的。

啊,AblistView具有以下属性:

android:stackFromBottom=“true”


这似乎正是我想要的。

执行相同的操作,反转顺序适配器并滚动到底部。。现在,如果在
adapter.notifyDataSetChanged()时添加了新项更新活动以滚动到底部。。所以,基本上每当你添加一个新的项目,它总是会滚动到底部。谢谢,是的,这就是我目前正在做的。然而,这并不完美。在普通的ListView中,如果从顶部滚动,并且适配器发生了变化,则它并不总是滚动回顶部。如果用户正在向上滚动,突然又被拉回到底部,这对用户来说是不和谐的。。现在,如果在
adapter.notifyDataSetChanged()时添加了新项更新活动以滚动到底部。。所以,基本上每当你添加一个新的项目,它总是会滚动到底部。谢谢,是的,这就是我目前正在做的。然而,这并不完美。在普通的ListView中,如果从顶部滚动,并且适配器发生了变化,则它并不总是滚动回顶部。如果用户向上滚动并突然拉回到底部,这对用户来说是不和谐的。注意,当键盘弹出时,我仍然需要添加一个“滚动到底部”的侦听器来重新定位。注意,当键盘弹出时,我仍然需要添加一个“滚动到底部”的侦听器来重新定位。