Android 第二行有一个粘性标题的Listview

Android 第二行有一个粘性标题的Listview,android,listview,android-listview,Android,Listview,Android Listview,我的布局有点复杂 我有一个SwipeRefreshLayout,在其中我托管一个ListView。每当用户拖动Listview的顶部时,SwipeRefreshLayout都会执行刷新。我还将侦听ListView的最后一个可见项,以加载下一页的记录 在列表的适配器中,我使用了两个视图。第一个视图将仅在第一行中可见,其他所有行的其他视图将保持不变 我想要达到的目标: 在position=1的行的顶部,我想要一个粘性标题。这意味着当我向上滚动时,标题将滚动到屏幕顶部并保持在那里 此粘性标题将仅位于一

我的布局有点复杂

我有一个SwipeRefreshLayout,在其中我托管一个ListView。每当用户拖动Listview的顶部时,SwipeRefreshLayout都会执行刷新。我还将侦听ListView的最后一个可见项,以加载下一页的记录

在列表的适配器中,我使用了两个视图。第一个视图将仅在第一行中可见,其他所有行的其他视图将保持不变

我想要达到的目标:

在position=1的行的顶部,我想要一个粘性标题。这意味着当我向上滚动时,标题将滚动到屏幕顶部并保持在那里

此粘性标题将仅位于一行

如果可能的话,我想使用一个简单的实现,因为我的布局和适配器已经足够复杂了

等待你的建议。

第一次我没有完全理解你的问题,下面是第二轮的答案

在您的布局中,添加一个空的视图组(无论您喜欢哪个),尽管linearlayout似乎工作得很好,但在listView中添加一个scrollListener并检查粘滞视图的位置。如果其顶部定位点位于下方,则表示其在listview(您将viewgroup可见性设置为gone的屏幕顶部)中可见,如果顶部定位点接触屏幕顶部或其下方,则将该视图或与之类似的视图添加到viewgroup,并将其可见性设置为visible


您可以相应地调整位置2视图的可见性,以允许此更改无缝显示。一旦您有了一些代码并正在进行此更改,就可以再帮您一点忙。

您可以将列表视图的第一行设置为列表标题。这对你合适吗?这行不通。正如我提到的,当我向上滚动编辑我的问题时,我需要在屏幕顶部保留粘性标题,这是我第一次尝试时的做法。如果可以的话,你要问的并不是那么难,但是要让listview项目神奇地不移动是不可能的,你必须给它添加一些技巧。