Как пользоваться виджетом рейтинга и усреднять ставки - android

Я играюсь с виджетом рейтинга в 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));

        }
    });

Я знаю, что мог бы использовать несколько массивов для создания цикла, чтобы уменьшить количество повторяющихся текстов, но я хочу попробовать усреднить показатели, прежде чем пытаться уменьшить избыточность.

РЕДАКТИРОВАНИЕ: так что я хочу спросить, как я могу рассчитать среднее значение для многих рейтинговых панелей

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;

Это то, что вы хотите? Пожалуйста, прокомментируйте, чтобы избежать недоразумений. Спасибо.

Другие вопросы по тегам