从浮动变量设置android评级栏到最近的半星

时间:2013-07-11 15:03:33

标签: java android variables ratingbar

我已经四处寻找解决方案,但只能找到将其设置为实际数字而不是变量的答案。

我希望评级栏能够显示相同数量的星星,其中5分的分数在0.5秒内上升,因此可以获得3.5等等。我可以为评级栏设置单独的浮动值,但是不能将变量用于同一个东西,它只是将它舍入到最接近的整数。

我使用的代码如下:

    RatingBar bar=(RatingBar)findViewById(R.id.ratingBar1); 
    bar.setNumStars(5);
    bar.setStepSize(0.5f);
    Bundle b = getIntent().getExtras();
    int score= b.getInt("score");
    //change the score out of ten to star rating out of 5
            float scores = score / 2;
    //display star rating
    bar.setRating(scores);

将收到任何帮助。感谢。

1 个答案:

答案 0 :(得分:0)

分数需要设置为float,而不是int。作为一个整数,它是四舍五入的,所以你唯一需要改变的是 float score = b.getInt(“score”)l