Я использую рейтинговые бары в своем приложении для Android. Но он показывает только полные звезды, когда мне также нужны полузвезды.
Я вставил строку SQLite с именем и ratingValue, там ratingValue стоит как "3.5", но мое приложение превращает его в "4". Даже если мой StepSize равен "0,5", даже значение по умолчанию изменяется на "3"
EDIT: Если вы нажмете на listrow, он отобразит другую рейтинговую панель, которую вы можете "оценить", и если вы нажмете на кнопку, она отправит значение рейтинга в базу данных. Список RatingBar listitem предназначен только для показа "среднего" рейтинга, но там, где он идет не так, он округляет значение вверх
ИЗМЕНИТЬ 2: установите stepize в 0.1 и теперь, как ни странно, только средняя звезда принимает число с плавающей точкой... Остальные звезды все еще полны И если я установил рейтинг на 1.2, только вторая звезда примет значение float, 0.2 первое и т.д., Но другие звезды (не в этом диапазоне) будут только или полными или пустыми
Здесь некоторый код
ListItem_layout
<TableRow>
<RatingBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/sportsRatingBar"
android:gravity="center_horizontal"
android:focusableInTouchMode="false"
android:isIndicator="true"
android:clickable="false"
android:focusable="false"
android:layout_column="1"
android:rating="1.1"
android:stepSize="0.1" />
ListItem
if(ratingBar!=null) {
ratingBar.setRating(p.getRating());
ratingBar.setTag(p.getId());
}
Класс повторного использования
public float getRating() { return Rating; }
Столбец таблицы SQLite для оценки
COLUMN_RATING + " real not null);"
И, наконец, получение из базы данных
c.getFloat(COLUMN_RATING_COL));