2016-08-13 2 views
0

Я использую этот код, чтобы показать десятичное значение в баре оценки. но вокруг значения и показать первый больше ИНТСтрока рейтинга android показывает только значения int

ratingBar.setNumStars(5); 
    ratingBar.setMax(5); 
    ratingBar.setStepSize(0.5f); 
    ratingBar.setRating(Float.parseFloat("2.5")); 

в файле XML

      <RatingBar 
          android:id="@+id/ratingBar1" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center" 
          android:max="5" 
          android:layoutDirection="ltr" 
          android:numStars="5" 
          android:stepSize="0.5" /> 

the image I see in android

+0

Код работает для меня. Не могли бы вы предоставить свой XML-файл? – Smit

+0

Попробуйте установить оценку как: ratingBar.setRating (2.5f); –

+0

Даже после XML это хорошо работает в моей студии! Может ли ваш результат получить в виде изображения? – Smit

ответ

0

Планировка:

<RatingBar android:id="@+id/ratingbar" android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:numStars="5" 
android:stepSize="0.5"/> 

активность:

private RatingBar ratingBar; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ratingBar = (RatingBar)findViewById(R.id.ratingBar); 
    assert ratingBar != null; 

    dosomething(); 
    ratingBar.setRating(0.0f); 
} 

private void dosomething() { 
    final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      ratingBar.setRating(2.5f); 
     } 
    }, 2000); 
} 

Результат в виде изображения: enter image description here

+0

Это не сработало :-(. В моем приложении я обновляю панель оценки через несколько секунд после вызова oncreate (как только данные с сервера будут получены). Может ли это иметь отношение к моей проблеме ? –

+0

@technicalpo О, это так. Не могли бы вы поместить этот '' в вашем файле макета, а затем выполните настройку, когда у вас есть значение, т.е. после того, как вы получили значение с сервера. – Smit

+0

Я сделал это и еще не ответил. Я использовал ratingBar пару раз в разных приложениях и в любом случае столкнулся с такой проблемой. –

0

Я проверить свой код в sdk 23 и имеют такую ​​же проблему. Я не могу понять, как эта Append, но вы можете временно решить путем набора закругленный значение перед установить float .like это:

ratingBar.setRating(Math.round(2.5f)); 
    ratingBar.setRating(2.5f); 

также не установлено setMax только setStepSize. дайте мне знать, если это сработает.

+0

Нет, к сожалению, этот код не работает –

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

  • Нет связанных вопросов^_^