2016-05-25 6 views
3

私はRelativeLayoutImageViewと2つのTextViewsと一緒に設定されている評価バーで作業しています。 RelativeLayoutは、私のListViewの行に配置されます。Ratingbarに正しい評価が表示されません。塗りつぶした星のみが表示されます

評価バーは、ListViewで選択されているアイテムからレーティングを受け取りますが、正しい「スター値」は表示されません。

<RatingBar 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/item_rating" 
     android:layout_toRightOf="@+id/item_icon" 
     android:layout_below="@+id/item_Name" 
     android:numStars="5" 
     android:rating="3.5" 
     android:stepSize="0.1"/> 

例:setRating(3.5f)は、4つの塗りつぶしの星になります。

物事をもっと複雑にする: getRating();値(この場合は3.5)を返します。

float rating_value = currentCocktail.getRating(); 
     RatingBar rating = (RatingBar)itemView.findViewById(R.id.item_rating); 
     rating.setIsIndicator(true); 
     rating.setNumStars(5); 
     rating.setMax(5); 
     rating.setStepSize(0.1f); 
     rating.setRating(rating_value); 

     alc.setText(""+rating.getRating()); 

上記のコードは、評価を設定するために使用します。 alcは、このコードの最初の行で受け取った正しい値を表示します。それにもかかわらず、星は正しく表示されません。

明確にするには:getRating()メソッドはsetRating()メソッドで設定したフロートの正しい値を返すので、私の評価バーは浮動値を受け入れます。 問題は、私がstepSizeを0.1fに設定しても、ratingbarsの星は完全に満たされた星しか表示されないということです。

+0

可能な複製を使用することができます

rate_bar.setRating(0.0f); 

をRatingBarは浮動小数点値を受け入れません](http://stackoverflow.com/questions/7338854/android-ratingbar-doesnt-accept-float-values) – Vucko

答えて

0

このコードを試してみてください。

rate_bar.setRating(Float.parseFloat("2.0")); 

または使用し、直接このフロート:デフォルトの評価値を設定したい場合は、[アンドロイドの

<RatingBar 
     android:id="@+id/ratingBar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:numStars="4"    <-- total number of stars --> 
     android:stepSize="1.0" 
     android:rating="2.0" />    <-- default value --> 
+0

ご回答ありがとうございますが、残念ながらこれは動作しません。私は既にデフォルトの格付けを変更しようとしましたが、setRatingに指定されたfloat値を設定しようとしました。 評価バーが表示されません。私のstepsizeは0.1fに設定されていますが、半分の星 – Zitruism

関連する問題