0
我正在遍歷firebase中的列表,它的工作原理與arrayList類似 我使用for循環遍歷chlidrens,因爲它將在列表中完成,我讓他們隨意使用此代碼如何跳過已經在arrayList中傳遞的項目
FirebaseUtils.getMeetPeopleListCityReference(ciudadX).orderByKey().addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(final DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
Random random = new Random();
final int index = random.nextInt((int) dataSnapshot.getChildrenCount());
int count = 0;
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (count == index) {
final MeetPeopleList mee = snapshot.getValue(MeetPeopleList.class);
if (mee.getIDentificador().equals(firebaseUser.getUid())) {
// nothing, are you
} else {
testData.add(mee);
adapter.notifyDataSetChanged();
return;
}
}
count++;
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
迭代但是,這是重要的代碼 它所做的是迭代的隨機的,問題就在這裏
我需要它在列表遍歷,不重複將列出的物品
我會設置一個例子: 代碼的工作方式是按下一個按鈕,按下它顯示整個項目列表,一個隨機項目在屏幕上,但有時再次點擊顯示與先前顯示的相同,我不需要顯示該對象這已經表明
Random random = new Random();
final int index = random.nextInt((int) dataSnapshot.getChildrenCount());
int count = 0;
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (count == index) {
final MeetPeopleList mee = snapshot.getValue(MeetPeopleList.class);
if (mee.getIDentificador().equals(firebaseUser.getUid())) {
// nothing, are you
} else {
testData.add(mee);
adapter.notifyDataSetChanged();
return;
}
}
count++;
}
我不太明白如何實施它,這對你解釋得很好很有幫助 –