Java 设置默认值,但结果为空

Java 设置默认值,但结果为空,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,将费率设置为具有默认值=“0”,但结果为空。rates的值(添加到Rider.class中的rates)不会像应该的那样添加到Firebase中的表中 如果您有任何关于如何修复的想法,我们将不胜感激 导航头/u主页 <TextView android:id="@+id/txtStars" android:text="4" android:layout_weight="1" android:lay

将费率设置为具有默认值=“0”,但结果为空。rates的值(添加到Rider.class中的rates)不会像应该的那样添加到Firebase中的表中

如果您有任何关于如何修复的想法,我们将不胜感激

导航头/u主页

<TextView
            android:id="@+id/txtStars"
            android:text="4"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
// properties:
Textview txtStars;

// onCreate:
View navigationHeaderView = navigationView.getHeaderView(0);
txtStars = navigationHeaderView.findViewById(R.id.txtStars);
txtStars.setText(String.format("%s", Common.currentUser.getRates()));
main活动

// showRegisterDialog() ...

// Register new user
            auth.createUserWithEmailAndPassword(edtEmail.getText().toString(),
                    edtPassword.getText().toString())
                    .addOnSuccessListener(new OnSuccessListener<AuthResult>() {
                        @Override
                        public void onSuccess(AuthResult authResult) {
                            // Save user to db
                            Rider rider = new Rider();
                            rider.setRates("0");//<---- default value
在AutoLogin方法的main活动中,。。。。 (因为它有一个自动登录),还必须添加

 // fetch data an save to variable
                    FirebaseDatabase.getInstance().getReference(Common.user_rider_tbl)
                            .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                            .addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    Common.currentUser = dataSnapshot.getValue(Rider.class);

                                    waitingDialog.dismiss();

                                    Intent i = new Intent(RiderActivity.this,
                                            Home.class);
                                    startActivity(i);
                                    finish();
                                }

                                @Override
                                public void onCancelled(DatabaseError databaseError) {}
                            });

调试时,txtStars=null

如果要将速率的默认值设置为零,则在初始化变量时,我只需将该值设置为零

private String rates = "0";
也可以在构造函数中设置默认值,如下所示:

public Rider() {this.rates = "0";}

这样,费率的值将始终具有默认值零,请让我知道这是如何实现的!:)

如果希望将速率的默认值设置为零,那么在初始化变量时,我只需将该值设置为零

private String rates = "0";
也可以在构造函数中设置默认值,如下所示:

public Rider() {this.rates = "0";}

这样,费率的值将始终具有默认值零,请让我知道这是如何实现的!:)

您是否也可以发布定义getter和setter方法的类,这样我们就可以了解为什么要为它分配nullvalue@Aaron添加了Rider.class1最后一件事,你能打印屏幕截图或写错误日志吗?这样我们也能准确地看到错误的指向:)@Aaron我没有收到错误,只是星星的结果在他们的个人资料中我的车手信息上显示为空,而不是默认值。添加了一个picCan,您还可以发布一个类,在其中定义getter和setter方法,这样我们就可以看到为什么为它分配了nullvalue@Aaron添加了Rider.class1最后一件事,你能打印屏幕截图或写错误日志吗?这样我们也能准确地看到错误的指向:)@Aaron我没有收到错误,只是星星的结果在他们的个人资料中我的车手信息上显示为空,而不是默认值。添加了一个picIs everything setting(picIs其他所有设置)是否使用各自的默认值正确设置?everything setting(其他所有设置)是否使用各自的默认值正确设置?