我正在从 firebase Realtime Db 获取数据并获取 recyclerview 问题是 Collection.shuffling 在 android studio 中重复相同的项目
Posted
技术标签:
【中文标题】我正在从 firebase Realtime Db 获取数据并获取 recyclerview 问题是 Collection.shuffling 在 android studio 中重复相同的项目【英文标题】:I am getting data from firebase Realtime Db and fetching on recyclerview issue is Collection.shuffling is repeating same item in android studio 【发布时间】:2021-12-27 03:05:42 【问题描述】:这是我的代码。另外,我正在使用自动点击索引 0,如何在洗牌时停止重复项目?
if (ref != null)
ref.addValueEventListener(new ValueEventListener()
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot)
if (dataSnapshot.exists())
list = new ArrayList<>();
String state;
String UserEmail;
for (DataSnapshot ds : dataSnapshot.getChildren())
Deal value = ds.getValue(Deal.class);
value.setKey(ds.getKey());
state = "" + ds.child("VideoStatus").getValue();
if (state.equals("incomplete"))
list.add(value);
Collections.shuffle(list);
AdapterClassssautoclicker adapterClassssautoclicker = new AdapterClassssautoclicker(list);
recyclerView.setAdapter(adapterClassssautoclicker);
// recyclerView.swapAdapter(adapterClassssautoclicker);
int pos = 0;
new Handler().postDelayed(new Runnable()
@Override
public void run()
if (recyclerView.findViewHolderForAdapterPosition(pos) != null)
Objects.requireNonNull(recyclerView.findViewHolderForAdapterPosition(pos)).itemView.performClick();
, 1);
@Override
public void onCancelled(@NonNull DatabaseError databaseError)
Toast.makeText(getApplicationContext(), databaseError.getMessage(), Toast.LENGTH_SHORT).show();
);
【问题讨论】:
这段代码中到底有什么不符合您的预期?告诉我们共享代码有什么问题。你有什么错误吗? 代码重复项目我想在洗牌时删除重复 【参考方案1】:根据你上一条评论:
代码正在重复我想在洗牌时删除重复的项目
要解决这个问题,你必须得到下面这行代码:
Collections.shuffle(list);
如您在以下代码行中看到的那样,退出 for 循环:
for (DataSnapshot ds : dataSnapshot.getChildren())
Deal value = ds.getValue(Deal.class);
value.setKey(ds.getKey());
state = "" + ds.child("VideoStatus").getValue();
if (state.equals("incomplete"))
list.add(value);
Collections.shuffle(list);
通过这种方式,您只会对元素进行一次洗牌,而不是每次迭代。这样可以避免重复元素。
【讨论】:
嘿 Crc Pcl。您是否尝试过我上面的解决方案,它有效吗?如果您认为我的回答对您有所帮助,请考虑通过单击左侧投票箭头下方的复选标记(✔️)来接受它。应将颜色更改为绿色。我真的很感激。谢谢!以上是关于我正在从 firebase Realtime Db 获取数据并获取 recyclerview 问题是 Collection.shuffling 在 android studio 中重复相同的项目的主要内容,如果未能解决你的问题,请参考以下文章
在单个 Activity 中使用 2 个或更多 Firebase Realtime DB
我正在使用 Firebase RealTime DB .. 我想做的就是让所有用户的分数为零
Flutter firebase realtime db 在规则中使用 displayName
从 firebase-realtime-database 过滤数据
Flutter:Firebase Realtime 从对象列表中删除对象
在明确删除之前,SingleValueEvent 侦听器是不是计入 Firebase RealTime DB 中的“同时连接”?