亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NullPointerException 從 Firebase 數據庫中檢索數據

NullPointerException 從 Firebase 數據庫中檢索數據

侃侃無極 2022-06-08 17:28:12
我正在嘗試從 Firebase 數據庫中檢索 9 個布爾變量和一個 int 變量,但是每次我運行我的應用程序時,它都會給我一個空指針異常它來自一個 Android 應用程序,我設置了一個模型頁面,我設置了 getter 和 setter 方法,但它一直在檢索空指針 exeption 這是模型public class ButtonInformation {    private boolean Button1=false;    private boolean Button2=false;    private boolean Button3=false;    private boolean Button4=false;    private boolean Button5=false;    private boolean Button6=false;    private boolean Button7=false;    private boolean Button8=false;    private boolean Button9=false;    private int ApeOmaggio=0;    public ButtonInformation(){    }    public ButtonInformation(boolean button1, boolean button2, boolean button3, boolean button4, boolean button5, boolean button6, boolean button7, boolean button8, boolean button9, int apeOmaggio) {        Button1 = button1;        Button2 = button2;        Button3 = button3;        Button4 = button4;        Button5 = button5;        Button6 = button6;        Button7 = button7;        Button8 = button8;        Button9 = button9;        ApeOmaggio = apeOmaggio;    }    public boolean getButton1(){        return Button1;    }    public void setButton1(boolean Button1){        this.Button1 = Button1;    }    public boolean getButton2(){        return Button2;    }    public void setButton2(boolean Button2){        this.Button2 = Button2;    }    public boolean getButton3(){        return Button3;    }    public void setButton3(boolean Button3){        this.Button3 = Button3;    }    public boolean getButton4(){        return Button4;    }    public void setButton4(boolean Button4){        this.Button4 = Button4;    }    public boolean getButton5(){        return Button5;    }    public void setButton5(boolean Button5){        this.Button5 = Button5;    }    public boolean getButton6(){        return Button6;    }    public void setButton6(boolean Button6){        this.Button6 = Button6;    }    public boolean getButton7(){        return Button7;    }
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

您可以直接將您的模型類與 Firebase 響應數據進行映射。您不必手動設置模型類中的每個數據。


如果您的數據將從 Firebase 中成功檢索,則此代碼將起作用,請嘗試以下代碼。


@Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_clienti);

        Utente=findViewById(R.id.tvUtente);

        ApeOmaggio = findViewById(R.id.tvOmaggio);

        bInfo= new ButtonInformation();

        img1=findViewById(R.id.img1);

        img2=findViewById(R.id.img2);

        img3=findViewById(R.id.img3);

        img4=findViewById(R.id.img4);

        img5=findViewById(R.id.img5);

        img6=findViewById(R.id.img6);

        img7=findViewById(R.id.img7);

        img8=findViewById(R.id.img8);

        img9=findViewById(R.id.img9);

        mAuth=FirebaseAuth.getInstance();

        mFirebaseDatabase = FirebaseDatabase.getInstance();

        user = mAuth.getCurrentUser();

        utenteLog = user.getDisplayName();

        mail = user.getEmail();

        mailNoSpace=mail.replaceAll("\\.","");

        Utente.setText(utenteLog);

        myRef=mFirebaseDatabase.getReference(mailNoSpace);

        myRef.addValueEventListener(new ValueEventListener()

        {

            @Override

            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            ButtonInformation buttonInformation = dataSnapshot.getValue(ButtonInformation.class);

                showData(buttonInformation);

            }

            @Override

            public void onCancelled(@NonNull DatabaseError databaseError) {


            }

        });


    }


    private void showData(ButtonInformation buttonInformation) {

        

            if (buttonInformation.getButton1()==true){

                img1.setImageResource(R.drawable.berry_icon);

            }else{

                img1.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton2()==true){

                img2.setImageResource(R.drawable.berry_icon);

            }else{

                img2.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton3()==true){

                img3.setImageResource(R.drawable.berry_icon);

            }else{

                img3.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton4()==true){

                img4.setImageResource(R.drawable.berry_icon);

            }else{

                img4.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton5()==true){

                img5.setImageResource(R.drawable.berry_icon);

            }else{

                img5.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton6()==true){

                img6.setImageResource(R.drawable.berry_icon);

            }else{

                img6.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton7()==true){

                img7.setImageResource(R.drawable.berry_icon);

            }else{

                img7.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton8()==true){

                img8.setImageResource(R.drawable.berry_icon);

            }else{

                img8.setImageResource(R.drawable.radio_button);

            }

            if (buttonInformation.getButton9()==true){

                img9.setImageResource(R.drawable.berry_icon);

            }else{

                img9.setImageResource(R.drawable.radio_button);

            }

            ApeOmaggio.setText(Integer.toString(bInfo.getApeOmaggio()));


    }

查看完整回答
反對 回復 2022-06-08
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

在訪問 firebase 之前使用 if not null 條件?;蛘?,如果您已將子屬性更改為您的 firebase 項目,請檢查樹。



查看完整回答
反對 回復 2022-06-08
  • 2 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號