假设我将等级栏的第一个值设置为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。从

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




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

10-07 19:27
查看更多