[英]for loop assigning last result to variable
我試圖做到這一點,以便每當用戶創建游戲時,他們為其游戲設置的下注值就會顯示在與他們的游戲相關的加入按鈕旁邊的屏幕上。
這是我要更改的UI外觀:
這是在firebase中從中提取的數據庫結構:
但是如您所見,下注值始終求助於數據庫中的最后一個下注節點。 這樣做是因為接收這些值的for循環正在遍歷數據庫中的每個下注值,然后將其分配給變量。 這是獲取下注值的循環
public void getWager(final WagerCallback wagerCallback) {
FCGames.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
double wagerr = snapshot.child("wager").getValue(Double.class);
String wagerD = Double.toString(wagerr);
boolean wage = wagerD.endsWith("0");
if(wage) {
wagerD = "$"+Double.toString(wagerr)+"0";
} else
wagerD = "$"+Double.toString(wagerr);
wages.add(wagerD);
wagerCallback.onCallback(wagerD);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException();
}
});
}
然后在這里的RecyclerViewer類中將textView值設置為下注:
fcl.getWager(new FlipCoinLobby.WagerCallback() {
@Override
public void onCallback(String wager) {
holder.wager.setText(wager);
}
});
而且我一直在研究如何從數據庫中獲取每個下注值並將其分配給相關接口。 我嘗試過一個for循環,將下注添加到列表中,然后匹配下注的索引和節點列表,但這沒有用。
有什么建議么?
您可能希望將所有數據放入某種本地結構中。 為“玩家”創建一個帶有數據變量的類,然后使用它來做您正在做的事情。 不知道這是否是列表/回收者視圖。
如果您一次只是在尋找價值,則可以像名稱一樣查看另一個價值,當您有匹配項時,抓住賭注並使用中斷退出循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.