Android RatingBar setRating 不起作用

标签 android ratingbar

我正在尝试将 int 值显示为 ratingBar。最大值为 5。

这是我的 XML 文件:

<RatingBar
            android:id="@+id/ratBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="false"
            android:numStars="5" />

但是如果我用 setRating() 设置评级,android 会吸引很多星星。我不知道有多少,因为我的屏幕太小了。

谁能告诉我哪里出了问题?

最佳答案

我无法理解您的问题到底是什么,但无论如何在 Android 应用程序中使用 RatingBar 非常简单。您需要在适当的位置定义您的 RatingBar;

<RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:isIndicator="true"
        android:max="5"
        android:numStars="3" />

在您的 Activity 中获取对它的引用;

private RatingBar rb;
...
this.rb = (RatingBar) findViewById(R.id.ratingBar1);

并开始设置值来填充星星;

this.rb.setRating(2); , this.rb.setRating((float)2.5); etc.

如果你的屏幕太小无法显示五颗星,你可以像我上面那样设置星数。您有多种选择;

1) 您可以将两个评级栏一个放在另一个下面,一个是 3 星,另一个是 2 星。当您的数字超过 3 时,您可以继续填充底部评级栏的 2 星。

2) 如果可能,您可以设置浮点值而不是整数。这样您就可以设置 1、1.5、2、2.5、3、3.5 等,您可以在经过一些代数运算后为您的区间 1-5 填充 3 颗星。

关于Android RatingBar setRating 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436051/

相关文章:

android.content.res.Resources$NotFoundException : Resource ID #0x7f07006e

android - 如何在 Android 上使用相机读取条形码?

android - 较小的自定义 RatingBar : Material Design

android - 无法在 Android 的简单适配器中设置评级栏

Android - 如何在评分栏中放置 5 个不同的笑脸

java - 如何制作可点击的 ListView

android,如何在 sqlitedatabase 中执行 sql 文件

c# - Xamarin ADFS 库

java - 如何在android对话框中获取用户的评分值?

java - AlertDialog 上 RatingBar 的问题