java - 如何在评级栏中设置 float 类型x.5?

标签 java android

我有一个问题。问题是我看不到评级栏的一半评级。 例如,有评级栏设置numStar =“5”,stepSize =“0.5”,isIndicator =“true”。 然后我使用RatingBar方法:setRating并设置Rating=2.5。 我以为这个评级栏会显示 2 星 + 半星。 但这个评级栏表示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);

关于java - 如何在评级栏中设置 float 类型x.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37104124/

相关文章:

android - 以编程方式删除布局

android - 在运行 Android 11 的设备上,targetSdkVersion 22 底部出现黑色空间

安卓测试 : No tests found

java - 静态 Util 方法与实例 Util 方法——哪个更好?

java - 偏序集迭代实现的正确性

Javafx 程序卡住

java - 尝试插入空值时 mybatis 与 spring 出错

java - 我有一个数组程序,其中的条件是必须返回一个新数组,该数组替换数组中的下一个最高元素

连接到 mysql 服务器的 Android 应用程序返回用 [] 、 {} 和双引号括起来的值

java - 从 Android 7 开始,WebView 显示空白页面