Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置RatingBar Android中显示的星星数的下限_Java_Android_Android Widget_Widget - Fatal编程技术网

Java 设置RatingBar Android中显示的星星数的下限

Java 设置RatingBar Android中显示的星星数的下限,java,android,android-widget,widget,Java,Android,Android Widget,Widget,使用android中的RatingBar小部件,您可以设置要显示的星星数,但是否有办法设置始终处于活动状态的星星数的下限。例如,对电影或其他东西进行评级时,您无法提交1级的评级?严格来说,如果在框架中不可能,您可以将默认值设置为1,并将android:rating设置为1,在分级栏上添加一个监听器,当用户试图降低级别时返回1否?是否有办法设置始终处于活动状态的星星数的下限 是的,您可以使用setRating()方法设置评级。 例如: ratingBar.setRating(rat); rati

使用android中的RatingBar小部件,您可以设置要显示的星星数,但是否有办法设置始终处于活动状态的星星数的下限。例如,对电影或其他东西进行评级时,您无法提交1级的评级?

严格来说,如果在框架中不可能,您可以将默认值设置为1,并将
android:rating
设置为1,在
分级栏上添加一个监听器,当用户试图降低级别时返回1否?

是否有办法设置始终处于活动状态的星星数的下限

是的,您可以使用
setRating()
方法设置评级。 例如:

ratingBar.setRating(rat);
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

    @Override public void onRatingChanged(RatingBar ratingBar, float rating, 
      boolean fromUser) {
        // implement your condition here
    }
});

例如,您无法提交1级评级的电影或其他东西的评级

为此,必须在onRatingChanged()方法中实现一个条件。 例如:

ratingBar.setRating(rat);
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

    @Override public void onRatingChanged(RatingBar ratingBar, float rating, 
      boolean fromUser) {
        // implement your condition here
    }
});


通过设置rating=1,显示等级1。

正如@sephy支持其答案所述。我正在添加我在应用程序中使用的示例代码

mRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
            if(selectedRating<=0) {
                mRatingBar.setRating(1);
            }
       }
    });
mRatingBar.setOnRatingBarChangeListener(新的RatingBar.OnRatingBarChangeListener(){
@凌驾
更改了公共无效率(率条率条、浮动率条、布尔值fromUser){

if(SelectedRatingy)您可以明确地将额定值设置为任何值,假设2如果低于该值,则将其限制为2 onRatingChanged(额定值栏、浮动额定值、布尔值fromUser)在这些任意值中,假设1比代码中的2低。谢谢你的回答,它可以工作。我只是觉得它是一个非常混乱的代码。检查Paresh的答案,了解我的更详细的版本。它不是很混乱。