2016-07-04 5 views
0

У меня есть рейтинг индикатор бар:Android: Как изменить рейтинг бара индикатора?

<RatingBar 
    android:id="@+id/ratingBar" 
    style="?android:attr/ratingBarStyleIndicator" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:rating="2.5" 
    android:numStars="5"/> 

Вы можете увидеть, что XML говорит рейтинг бар, чтобы отразить Число звезд: 2,5 в настоящее время.

При щелчке кнопки, я хочу, чтобы отразить 5 звезд вместо этого, так что я написал этот код:

indicatorRatingBar = (RatingBar) findViewById(R.id.ratingBar); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     indicatorRatingBar.setIsIndicator(false); 
     indicatorRatingBar.setRating(5); 
     indicatorRatingBar.setIsIndicator(true); 
    } 
}); 

Оценка бар не обновляется на всех. Я не знаю, если это потому, что это индикаторная панель индикатора?

Как я могу заставить это работать правильно с баром оценки, установленным в стиле индикатора?

ответ

1

Я действительно нашел ответ на пробную версию и ошибку. Мне просто нужно было вызвать invalidate на представлении, поскольку оно изменилось, и оно автоматически не отменяет себя автоматически.

indicatorRatingBar = (RatingBar) findViewById(R.id.ratingBar); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     indicatorRatingBar.setRating(5); 
     indicatorRatingBar.invalidate(); 
     indicatorRatingBar.setIsIndicator(true); 
    } 
}); 
-1

Изменить его

indicatorRatingBar.setRating(5.0f); 
+0

Неа. Это не имеет значения. – Simon

Смежные вопросы