-1

我正在玩android中的评级小部件。我知道如何从评级小部件中提取评级数字,但如果我有多个费率并且我想平均费率。我怎样才能做到这一点?

这就是我目前所拥有的。

    RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar1);
    ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            TextView rate_lotr_number = (TextView)findViewById(R.id.rate_number1);
            rate_lotr_number.setText(String.valueOf(rating));

        }
    });

    RatingBar ratingBar1 = (RatingBar) findViewById(R.id.ratingBar2);
    ratingBar1.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            TextView rate_lotr_number = (TextView)findViewById(R.id.rate_number2);
            rate_lotr_number.setText(String.valueOf(rating));

        }
    });

我知道我可能会使用一些数组来创建一个循环,以减少所有那些重复的文本,但我想在尝试减少冗余之前尝试如何平均速率。

已编辑:所以我想问的是如何计算许多评分栏的平均值

4

1 回答 1

1

您可以使用 获取每个评分值RatingBar.getRating(),将所有值相加,然后除以评分条数。

RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar1);
RatingBar ratingBar1 = (RatingBar) findViewById(R.id.ratingBar2);

float total = 0;
total += ratingBar.getRating();
total += ratingBar1.getRating();
float average = total / 2;

这是你想要的吗?请发表评论,以免造成误解。谢谢你。

于 2013-10-25T06:18:50.693 回答