这是我随机检索的数据代码:
mDataSelect.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> lst = new ArrayList<String>();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Collections.shuffle(lst);
lst.add(String.valueOf(ds.getKey()));
randomGenerator = new Random();
int index = randomGenerator.nextInt(lst.size());
String item = lst.get(index);
idofcaps.setText(item);
final DatabaseReference capsSelect = mDataSelect.child(item);
capsSelect.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dss) {
String post_Image = (String) dss.child("Image").getValue();
Picasso.with(StartCapsActivity.this).load(post_Image).into(caps);
String post_name = (String) dss.child("Translation").getValue();
translation.setText(post_name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});
我的屏幕上有一个下一个按钮,它具有相同的代码,用于从数据库中检索另一个图像。但是,我不想再次检索相同的图像。如何防止这种冗余?
答案 0 :(得分:2)
创建一个arraylist然后添加检索到的密钥。然后删除可能的重复键。 How do I remove repeated elements from ArrayList?