第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

更新所有用戶的列表大小

更新所有用戶的列表大小

哈士奇WWW 2021-12-10 15:09:54
我試圖做到這一點(diǎn),當(dāng)用戶創(chuàng)建一個(gè)開(kāi)放的游戲時(shí),在我的 Firebase 數(shù)據(jù)庫(kù)中,游戲的名稱就是列表的大小。因此,創(chuàng)建的第一個(gè)游戲的名稱將 = 0,如果另一個(gè)用戶創(chuàng)建游戲,則該游戲?qū)⒈粯?biāo)記為 1,依此類推。我現(xiàn)在已經(jīng)設(shè)置好了,所以游戲被標(biāo)記為游戲列表的大小,但列表并沒(méi)有真正更新。游戲一直被稱為“0”,因?yàn)樗J(rèn)為列表是空的,即使我在應(yīng)用程序中有視覺(jué)確認(rèn)有項(xiàng)目被添加到列表中。所以我的問(wèn)題是:我怎樣才能使列表在每次添加游戲時(shí)不斷更新,我怎樣才能使它為所有用戶而不僅僅是創(chuàng)建游戲的用戶更新?這就是我現(xiàn)在設(shè)置的。這是我用于列表的變量和獲取列表大小的整數(shù)ArrayList<String> openGames = new ArrayList<>();int gameSlot = openGames.size();這是我在創(chuàng)建游戲時(shí)用來(lái)命名游戲的內(nèi)容。gameMaker = new GameMaker(hp.uid, userName, wagerD, gameSlot);FirebaseDatabase.getInstance().getReference("FCGames").child(Integer.toString(gameSlot))        .setValue(gameMaker).addOnCompleteListener...這就是我必須將游戲添加到列表中的內(nèi)容。cgRef.child(Integer.toString(gameSlot)).addValueEventListener(new ValueEventListener() {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            openGames.add(userName);            adapter.notifyDataSetChanged();        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {        }    });所以我的問(wèn)題是如何正確更新此列表以及如何為應(yīng)用程序上的所有用戶更新它?編輯這是我對(duì) onChangeData 所做的    cgRef.child(Integer.toString(gameSlot)).addValueEventListener(new ValueEventListener() {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            wager = (String) dataSnapshot.child("wager").getValue();            gameSlot = openGames.size();            adapter.notifyDataSetChanged();        }^^ 這只是該方法的重要片段。然后我有一個(gè) onClickListener 創(chuàng)建它在按下按鈕時(shí)調(diào)用該方法
查看完整描述

1 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

在下面的代碼段中,您在 onDataChange 偵聽(tīng)器中執(zhí)行了 openGames.add(username) 。我認(rèn)為這是對(duì)這個(gè) ondatachange 函數(shù)的錯(cuò)誤使用


@Override

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

    openGames.add(userName);

    adapter.notifyDataSetChanged();

}

請(qǐng)使用它從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)并更新您的數(shù)據(jù)。然后將您的數(shù)據(jù)推送到數(shù)據(jù)庫(kù)。您也沒(méi)有使用快照值。您可以從 獲取最近更新的數(shù)據(jù)dataSnapshot。使用它來(lái)更新用戶數(shù)據(jù),然后將其推送到數(shù)據(jù)庫(kù)


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)