Java 分级值未出现在我的firebase数据库中

Java 分级值未出现在我的firebase数据库中,java,android,Java,Android,我只能保存名称,不能保存评级值,如下图所示:- 我的评级编码。仅供参考,TutionName为微调器类型,而TutionRating为分级栏类型。我在getSelectedItem上通过学费获得了一个错误。。。我应该为分级栏设置什么 private void createRating() { String uid = mAuth.getCurrentUser().getUid(); String tuitionname = mTuitionName.getSelectedIte

我只能保存名称,不能保存评级值,如下图所示:-

我的评级编码。仅供参考,TutionName为微调器类型,而TutionRating为分级栏类型。我在getSelectedItem上通过学费获得了一个错误。。。我应该为分级栏设置什么

private void createRating()
{
    String uid = mAuth.getCurrentUser().getUid();
    String tuitionname = mTuitionName.getSelectedItem().toString().trim();
    String tuitionrating = mRatingBar.getSelectedItem().toString().trim();

    Rates rates = new Rates(uid, tuitionname, tuitionrating);
    mTuitionRates.child("Rates").child(uid).setValue(rates).addOnCompleteListener(new OnCompleteListener<Void>()
    {
        @Override
        public void onComplete(@NonNull Task<Void> task)
        {
            if(task.isSuccessful())
            {
                //Toast.makeText(Signup.this, "Data has been added successfully.", Toast.LENGTH_SHORT).show();
            }

            else
            {
                Toast.makeText(RatingActivity.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
    });
}
private void createRating()
{
字符串uid=mAuth.getCurrentUser().getUid();
字符串tutionName=mTuitionName.getSelectedItem().toString().trim();
String tutionrating=mRatingBar.getSelectedItem().toString().trim();
费率=新费率(uid、学费名称、学费费率);
mTuitionRates.child(“Rates”).child(uid).setValue(Rates).addOnCompleteListener(新的OnCompleteListener()
{
@凌驾
未完成的公共void(@NonNull任务)
{
if(task.issusccessful())
{
//Toast.makeText(Signup.this,“数据已成功添加。”,Toast.LENGTH_SHORT.show();
}
其他的
{
Toast.makeText(RatingActivity.this,task.getException().getMessage(),Toast.LENGTH_SHORT).show();
}
}
});
}

解决方案:

与此相反:

String tuitionrating = mRatingBar.getSelectedItem().toString().trim();
使用以下命令:

String tuitionrating = String.valueOf(mRatingBar.getRating());

试试看。希望它能工作。

mRatingBar的输出将是浮动的。所以必须将浮点转换为字符串。为了将float转换为字符串,可以使用float.parseFloat(输入_参数),然后使用String.valueOf将其转换为字符串


String tutionrating=String.valueOf(Float.parseFloat(mRatingBar.getRating())

如果我用的是“float tutionrating=mRatingBar.getRating();”???
float tutionrating=mRatingBar.getRating()这是浮点数,
String.valueOf()
转换成字符串。好的,先生,我明白了。现在按步长=1。如果我想,评级可以是1.3或1.7。应该是怎样的?对于float-value:尝试以下操作:
String.valueOf(float.parseFloat(mRatingBar.getRating())