假设我将 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/