我有个问题。问题是我看不到评级栏的一半评级。
例如,评级栏设置为numStar =“ 5”,stepSize =“ 0.5”,isIndicator =“ true”。
然后我使用RatingBar方法:setRating并设置rating = 2.5。
我以为这个RatingBar会让我看到2start +一个半星。
但是此评分栏表示3开始。我想不通..有人帮助我..

示例代码:

RatingBar rt =(RatingBar)findViewById(R.id.ratingbar1);
rt.setNumStart=5;
rt.setStepSize=0.5f;
rt.setRating(2.5f);

最佳答案

float aveRating=totalSum/totalIndex;

        float refRat= (float) (aveRating-(Math.floor(aveRating)));
        float setRat=0;

        if(refRat>=0.7){
            setRat=Math.round(aveRating);
            Toast.makeText(this,"0.7이상:"+ setRat,Toast.LENGTH_SHORT).show();
        }
        else if(refRat<0.7 && refRat>=0.3){
            setRat= (float) (Math.floor(aveRating)+(float)0.5);
            Toast.makeText(this,"0.7이하 0.5이상 :" + setRat,Toast.LENGTH_SHORT).show();
        }
        else if(refRat<0.3){
            setRat= (float) Math.floor(aveRating);
            Toast.makeText(this," 0.5이하:"+ setRat,Toast.LENGTH_SHORT).show();
        }

        String stringAveRat = String.format("%.1f" , aveRating);

        ksRatingBar.setRating((float)setRat);
        ksRatingText.setText(stringAveRat);

09-04 22:56