【发布时间】:2020-02-20 09:08:52
【问题描述】:
我正在从数据库中获取用户 ID 列表。并且它正确地获取了值。我正在使用FirebaseRecyclerAdapter,当我在onBindViewHolder 中迭代该列表时,循环将按照列表的大小运行。例如这里:
adapter = new FirebaseRecyclerAdapter<Profiles, DonarViewHolder>(model) {
@Override
protected void onBindViewHolder(@NonNull DonarViewHolder holder, int position, @NonNull Profiles profiles) {
for (int i = 0 ; i<list.size() ; i++){
Toast.makeText(List.this,"List :" +list.get(i), Toast.LENGTH_SHORT).show();
}
}
}
在这里,我在列表中有 5 个项目,在迭代时我正在为每个项目敬酒。所以在这里循环运行 25 次,它按顺序显示每个项目 5 次。首先,它在显示最后一个项目后有序显示 5 个项目,它再次从第一个项目开始烘烤,并一直持续到列表大小的 5 次。 那么我该如何解决这个问题并让它只对整个项目进行一次迭代呢?
【问题讨论】:
-
我认为你不应该迭代 list.size。相反,您可以使用位置作为索引直接获取数据。试试这个
list.get(position)。另外,请将列表中的数据张贴作为参考。 -
如果我做 list.get(position) 那么它将第一项烘烤五次然后第二项烘烤并继续最终它做同样的事情
-
不不不!您必须完全删除循环,只需编写
Toast行 -
是的,那个工作的人,我为此奋斗了 2 天,您能否详细说明一下,如果我们应用循环,为什么会出现此问题?
-
请查看我的回答以更好地了解您的问题
标签: android firebase for-loop android-recyclerview firebaseui