gpt4 book ai didi

android - Android 中的无限列表

转载 作者:行者123 更新时间:2023-11-30 00:22:59 25 4
gpt4 key购买 nike

我想创建一个无限列表,当我滚动到列表末尾时,我的列表将在 end() 处显示第一项、第二项……。如:

item[0]
........
item[last]
item[0]
item[1]

我想到的第一件事是我将列表加倍,以便它可以按我希望的方式显示。不幸的是,这是一个坏主意,因为我的列表的大小会越来越大,加载一个大列表对性能不利(很明显)。你们可以告诉我处理这种情况的其他解决方案吗?非常感谢。

最佳答案

使用 RecyclerView,您可以通过几步实现您想要的。这个想法是将适配器的项目数设置为无穷大,并将您的第一个项目放在无穷大的中间。

在您的 Adapter 中覆盖 getItemCount() 方法,如下所示。

@Override
public int getItemCount() {
return Integer.MAX_VALUE;// Not the infinity, but I'm not sure someone will scroll about 2 million items and find out that's a cheat
}

然后在使用 RecyclerView 的类中,获取 LayoutManager 并将起始位置设置为适配器 itemCount 的中间。

    LinearLayoutManager layoutManager = getLayoutManager();
int pos = (Integer.MAX_VALUE / 2); //Voila, you are in the middle of infinity
layoutManager.scrollToPosition(pos);
yourAdapter.setLayoutManager(layoutManager);

通过这样做,您可以在任何方向上滚动您的列表,最多滚动 2 000 000 次,而不会增加容器大小和任何性能问题。

关于android - Android 中的无限列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com