gpt4 book ai didi

android - 如何随机播放 RealmResults 对象的内容

转载 作者:太空狗 更新时间:2023-10-29 16:32:09 26 4
gpt4 key购买 nike

我有一个 RealmResults 对象,它保存 .where.findAll() 查询的输出。我在 RecyclerView 中显示此对象的内容,但由于 RealmResults 对象的内容是静态的,因此每次打开 RecyclerView 时它都会显示相同的记录集。我想打乱(随机化)RealmResults 的内容,以便我可以在我的 RecyclerView 中显示 RealmResults 中的不同值。请建议我可以执行相同操作的一些可能方法。

最佳答案

你不应该随机化列表本身,你应该随机化你对它的访问(索引)。

构建一个包含来自[0, n-1]的索引的列表>

List<Integer> indices = new ArrayList<>(realmResults.size());
for(int i = 0; i < realmResults.size(); i++) {
indices.add(i);
}

随机播放

Collections.shuffle(indices);

然后当您选择 View 持有者数据时,索引域结果具有索引的随机位置

public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if(holder instanceof YourHolder) {
YourHolder yourHolder = (YourHolder) holder;
RealmData realmData = realmResults.get(indices.get(position));
//init data for your holder
}
}

关于android - 如何随机播放 RealmResults 对象的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36241590/

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