Java 如何做一个;“刷卡信息”;活动?

Java 如何做一个;“刷卡信息”;活动?,java,android,android-fragments,kotlin,swipe,Java,Android,Android Fragments,Kotlin,Swipe,在我的项目中,我有一个加载新闻列表的活动。加载列表时,此活动将填充列表上第一项的信息: 但由于这会从服务器加载所有新闻,我希望用户能够用手指交换新闻。例如:我们从新闻[0]开始,用户向左滑动,内容变为新闻[1]。用户再次向左滑动,内容变为新闻[2]等等。。。如果用户向右滑动,则返回上一条新闻(新闻[1])。标题不应有滑动运动,只有主框架(图像和主体应改变): 这种行为的最佳解决方案是什么?我在考虑使用带有ViewPager的TabLayout,但我不确定这是否是正确的方法。如果我有100条新

在我的项目中,我有一个加载新闻列表的活动。加载列表时,此活动将填充列表上第一项的信息:

但由于这会从服务器加载所有新闻,我希望用户能够用手指交换新闻。例如:我们从新闻[0]开始,用户向左滑动,内容变为新闻[1]。用户再次向左滑动,内容变为新闻[2]等等。。。如果用户向右滑动,则返回上一条新闻(新闻[1])。标题不应有滑动运动,只有主框架(图像和主体应改变):

这种行为的最佳解决方案是什么?我在考虑使用带有ViewPager的TabLayout,但我不确定这是否是正确的方法。如果我有100条新闻,那么在ViewPager中加载100条新闻片段可能会有点过火,对吧


安卓有没有更好的方法?我该怎么做呢?

你可以使用
ViewPager
。有100个片段在里面是完全可以的,因为
ViewPager
将只加载使用
setOffscreenPageLimit(pageLimit)
设置的内容。例如,如果设置
pageLimit=3
ViewPager
将仅初始化当前可见片段右/左侧的3个(最多6个)相邻片段。当您在片段中滑动时,它将杀死超出此限制的片段,并加载新的片段。所以,不会有过度杀伤力。

不,100块碎片完全可以
ViewPager
每次将始终保留至少3个加载的页面,您也可以将其配置为更多。此外,您还可以实现分页以加载特定数量的新闻,如20条,然后再加载20条,等等。另一个选项可以是带有HorizontalLayoutManager的RecyclerView,如下面的答案所示:如果您希望具有ViewPager提供的“快照”行为,那么这当然就不那么有趣了