私は rb.setNumStars(int) を使用して、星を特定のデフォルト値 (5 など) からアプリの設定を持つ新しい値 (4 など) に変更しています。コードは OK を実行し、フラグメントを更新した後、星の数が設定した任意の整数に変化したことを確認できます (バーの StepSize は 1 です)。
問題は、そのバーに評価を設定しようとすると、塗りつぶされた星が評価値と一致せず、値を取得するために奇妙な場所に触れなければならないことです。つまり、最初の星に触れると、評価 = 1、秒に触れても評価 = 1 のままで、塗りつぶされた星は 1 秒の断片です。2 番目と 3 番目の星の間をタッチすると、評価 = 2 になり、星が 2 つと破片で満たされた星が得られます。
これを想像してみてください: F が完全な星で、P が部分星 (ただし半星とは異なります) で、E が空の星である場合、2 番目の星に触れると、2 番目と 3 番目の間で次のようになります。
FPEE 評価 = 1 FFPE 評価 = 2
編集: 画像はここにあります: http://1drv.ms/1pyq3gS
値を 5 に戻すと、バーは期待どおりに動作し、塗りつぶされた星は評価と一致します。
この動作を説明するために画像を挿入することはできませんが、十分に明確であることを願っています。
なぜこれが起こっているのか、それを修正する方法を知っている人はいますか?