想象一下,我正在实现一个带有活动和非活动元素的简单TODO应用。这些元素分为两个列表(活动元素列表,非活动元素列表)。我已经实现了一个处理两个列表视图的适配器,以显示顶部的非活动元素和下面的活动元素。
我的问题是,如何实现以下内容(见下图):首先,我只想显示活动元素。当用户到达该列表视图的顶部时,他/她可以下拉列表以解锁非活动元素。解锁应该类似于谷歌邮件应用程序或Chris Banes的PullToRefresh实现中的常规内容刷新(到目前为止,我正在使用PullToRefresh实现,当我拉下距离时,我可以触发该事件50%的屏幕尺寸)。我遇到问题的部分是在非活动元素的列表视图中平滑滚动。
我想我需要以下步骤:
(1)告诉我的适配器它应该停止在第一个活动元素的位置滚动。我是否需要将非活动元素列表视图设置为Visible.GONE?
(2)当用户拉下50%的距离时,我需要解锁非活动元素的列表视图。我想我可以对该部分使用Visible.VISIBLE,但是我需要在调用adapter.notifyDataSetChanged()
时保持当前滚动位置。我想避免适配器跳到列表顶部。
我有什么建议吗?我的另一个想法是使用片段,每个片段都显示一个列表视图。在下拉第一个列表视图后,非活动元素的片段将向下滚动。但我认为希望工作顺利进行: - )
我很感激任何帮助!
最好的问候,迈克尔