Java/Android - 不添加RatingBar的两个值吗?

标签 java android

假设我将 ratingbar 的第一个值设置为 1,将第二个值设置为 1,它加起来不等于 2。而是显示 1.01.0 。这里出了什么问题?

    RatingBar r1,r2;
    Button submit;
    r1 = (RatingBar) findViewById(R.id.ratingBar1);
    r2 = (RatingBar) findViewById(R.id.ratingBar2);

     submit = (Button) findViewById(R.id.submit);

    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(MyActivity.this, String.valueOf(r1.getRating())+String.valueOf(r2.getRating()), Toast.LENGTH_SHORT).show();  //shows 1.01.0
        }
    });

最佳答案

这是因为您将 + 与 String 对象和 int 一起使用。 String 的 + 运算符具有连接的含义。您想要的是将这些值相加然后将其转换为字符串。更改自

String.valueOf(r1.getRating())+String.valueOf(r2.getRating())

String.valueOf(r1.getRating() + r2.getRating())

关于Java/Android - 不添加RatingBar的两个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31651608/

相关文章:

java - 正则表达式用相同长度的符号替换所有匹配项

swing - JTextField 的 setText 方法不会更新 JTextField 实例

android - kotlin-非 Activity 类的访问 View

android - Android Wear 上的离线语音识别

android - 具有主题属性的数据绑定(bind)

Java - 在菜单中选择形状并在 JPanel 中绘制

java - 关于 lambda 语法

android - 调试已签名的 apk

android - 如何在 Android 中强制通过 Wi-Fi 而不是蜂窝网络进行 HTTP 连接?

java - jackson 和空弦