Как пользоваться виджетом рейтинга и усреднять ставки - 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;
Это то, что вы хотите? Пожалуйста, прокомментируйте, чтобы избежать недоразумений. Спасибо.