最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

Firebase removeValue() 函數(shù)未刪除正確的值

Firebase removeValue() 函數(shù)未刪除正確的值

慕田峪9158850 2023-09-06 15:02:41
我正在努力向我的應(yīng)用程序添加編輯和刪除功能。編輯功能工作正常,但我的刪除功能并不總是刪除正確的值。刪除功能未按預(yù)期工作的情況:當(dāng)我添加新的數(shù)據(jù)節(jié)點(diǎn)時(shí)(在我的應(yīng)用程序中是新的供應(yīng)商。)當(dāng)我編輯某個(gè)值時(shí),最后編輯的值將被刪除,而不是所選的值。啟動(dòng)應(yīng)用程序時(shí),僅刪除其中一項(xiàng)就會(huì)刪除整個(gè)“供應(yīng)商”。必須單擊刪除按鈕兩次才能刪除項(xiàng)目。這是我的數(shù)據(jù)庫的結(jié)構(gòu):供應(yīng)商>>>=============> 自動(dòng)生成密鑰(例如-LpmoJ8DjCvF23I2ymVg)=================================================== =====> 供應(yīng)商名稱=================================================== =====> 供應(yīng)商_地址=================================================== =====> 供應(yīng)商_電話號碼=================================================== =====> 供應(yīng)商_電子郵件為了刪除一個(gè)值,我獲取該項(xiàng)目的自動(dòng)生成的鍵,并將其用作刪除該鍵的整個(gè)節(jié)點(diǎn)的參考。這在我的編輯功能中工作得很好,但在我的刪除功能中卻不起作用。我認(rèn)為它必須與 onDataChange 做一些事情,但我不確定。注意:這些項(xiàng)目位于recyclerView中,用戶可以隨時(shí)編輯或刪除它們。我嘗試過移動(dòng) onDatachange 方法,將removeValue() 函數(shù)移動(dòng)到不同的位置,并在使用它之前在 TextView 中設(shè)置鍵,以確保它是正確的鍵,但由于某種原因它不起作用有意刪除其他未選擇的項(xiàng)目。我已經(jīng)被這個(gè)問題困擾了三天,因?yàn)槲沂沁@種編程的初學(xué)者,這是我的第一個(gè)完整的應(yīng)用程序。如果您需要更多代碼,我可以根據(jù)需要發(fā)布盡可能多的代碼。任何幫助是極大的贊賞 :)。
查看完整描述

1 回答

?
www說

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

我還沒有測試過代碼,嘗試掌握邏輯。有任何疑問歡迎


btnMenuDelete.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

            final AlertDialog.Builder builder = new AlertDialog.Builder(SupplierMaintenance.this);

            builder.setTitle("DELETE Supplier");

            builder.setMessage("You are about to delete the selected supplier. Continue?");

            builder.setCancelable(false);

            builder.setNegativeButton("Yes", new DialogInterface.OnClickListener() {


                @Override

                public void onClick(DialogInterface dialog, int which) {


                    //DELETE METHOD

                    databaseSupp = FirebaseDatabase.getInstance().getReference("SUPPLIERS");

                    final DatabaseReference mDatabase2 = databaseSupp;


                    mDatabase2.addListenerForSingleValueEvent(new ValueEventListener() {

                        @Override

                        public void onDataChange(@NonNull final DataSnapshot dataSnapshot2) {


                            for (final DataSnapshot snapshot : dataSnapshot2.getChildren()) {

                                if (snapshot.child("Supplier_Name").getValue(String.class).equals(suppName.getText().toString())) {

                                    deletekey = snapshot.getKey().toString();

                                    keyholder.setText(deletekey);

               mDatabase2.child(keyholder.getText().toString()).removeValue();  

                                     return;

                                }

                            }

                        }

                        @Override

                        public void onCancelled(@NonNull DatabaseError databaseError) {


                        }

                    });

                }

            });


            builder.setPositiveButton("Cancel", new DialogInterface.OnClickListener() {

                @Override

                public void onClick(DialogInterface dialog, int which) {

                }

            });

            builder.show();

            //DELETE METHOD END

        }

    });

我希望供應(yīng)商名稱是唯一的


查看完整回答
反對 回復(fù) 2023-09-06
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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