Perhaps this is an unfortunate side effect of a RatingBar that extends the ProgressBar , which internally uses int progress with rounding (rather than ceil ) to go from the search position float to int progress. The best solution I've found is to set stepSize to 0.01 , not 1 , and then set
rb.setOnRatingBarChangeListener( new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged( final RatingBar ratingBar, final float rating, final boolean fromUser ) { if ( fromUser ) { ratingBar.setRating( Math.ceil(rating) ); } } });
source share