2

これに対する解決策を探しましたが、変数ではなく実際の数値として設定する答えしか見つかりませんでした。

0.5 秒で 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);

どんな助けも受け取られるでしょう。ありがとう。

4

1 に答える 1

0

Score は int ではなく float として設定する必要があります。int として丸められるため、変更する必要があるのは float score = b.getInt("score")l だけです

于 2013-11-30T17:40:01.773 に答える