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

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

如何從實(shí)時(shí)數(shù)據(jù)庫中刪除列表中填充了對(duì)象的重復(fù)項(xiàng)

如何從實(shí)時(shí)數(shù)據(jù)庫中刪除列表中填充了對(duì)象的重復(fù)項(xiàng)

至尊寶的傳說 2022-09-28 14:26:13
我正在根據(jù)從數(shù)據(jù)庫中獲取數(shù)據(jù),然后將數(shù)據(jù)插入到a中并通過對(duì)話框顯示它。userIdlistview我一直在等待的行為是,我將獲取用戶創(chuàng)建的所有交換,并將它們插入到列表中,以便他可以選擇其中一個(gè)。但是,只有當(dāng)他在數(shù)據(jù)庫中只有一個(gè)交換時(shí),代碼才能正常工作,因?yàn)樗o@示。但是,如果他有兩個(gè)掉期,那么列表中的掉期將乘以兩個(gè)。如果是三次,那么數(shù)據(jù)將重復(fù)三次,依此類推。我不知道我的代碼中的流程是什么,希望有人可以幫助我解決這個(gè)問題。如何刪除列表中的重復(fù)項(xiàng)? private void fetchChooseList() {    DatabaseReference shiftSwapDb = FirebaseDatabase.getInstance().getReference().child("swaps").child("shift_swaps");    final List<SwapDetails> swapBodyList = new ArrayList<>();    Collections.reverse(swapBodyList);    shiftProfileAdapter = new ShiftProfileAdapter(ProfileActivityShift.this, R.layout.shift_profile_list_item, swapBodyList);    listView = chooseShiftProfileDialog.findViewById(R.id.listShiftProfileChooseDialog);    listView.setAdapter(shiftProfileAdapter);    shiftSwapDb.addChildEventListener(new ChildEventListener() {        @Override        public void onChildAdded(DataSnapshot dataSnapshot, String s) {            if (dataSnapshot.exists()) {                SwapDetails swapDetails = dataSnapshot.getValue(SwapDetails.class);                if (swapDetails.getSwapperID().equals(fromID)) {                    shiftProfileAdapter.add(swapDetails);                }            }        }        @Override        public void onChildChanged(DataSnapshot dataSnapshot, String s) { }        @Override        public void onChildRemoved(DataSnapshot dataSnapshot) { }        @Override        public void onChildMoved(DataSnapshot dataSnapshot, String s) { }        @Override        public void onCancelled(DatabaseError databaseError) { }    });
查看完整描述

2 回答

?
白衣染霜花

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

問題解決了。原因是if語句正在交換詳細(xì)信息對(duì)象中添加整個(gè)數(shù)據(jù),如果它找到一個(gè)用戶ID,然后它找到另一個(gè)并再次添加所有這些用戶ID等。


所以我只是在if語句中創(chuàng)建了布洛爾,如果它找到了交換器ID,然后使用插件范圍之外的適配器,則使其成為真。


 shiftSwapDb.addChildEventListener(new ChildEventListener() {

    @Override

    public void onChildAdded(DataSnapshot dataSnapshot, String s) {

        if (dataSnapshot.exists()) {

            SwapDetails swapDetails = dataSnapshot.getValue(SwapDetails.class);

            if (swapDetails.getSwapperID().equals(fromID)) {


hasSwaperID = true;

            }

        }

    }

移位配置文件Adapter.add(swapDetails);


查看完整回答
反對(duì) 回復(fù) 2022-09-28
?
翻閱古今

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

試試這個(gè)


@Override

public void onChildAdded(DataSnapshot dataSnapshot, String s) {

    if (dataSnapshot.exists()) {

        SwapDetails swapDetails = dataSnapshot.getValue(SwapDetails.class);

        if (swapDetails.getSwapperID().equals(fromID)) {

            swapBodyList.add(swapDetails);

            shiftProfileAdapter.notifyItemInserted(swapBodyList.length - 1);

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-09-28
  • 2 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報(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)