2016-05-08 1 views
1

問題があります。問題は、私が評価バーの半分の評価を見ることができないということです。 たとえば、ratingbar set numStar = "5"、stepSize = "0.5"、isIndicator = "true"があります。 し、私はRatingBarメソッドを使用しました:setRatingとset rating = 2.5。 この評価バーで2start + a半分の星が表示されると思いました。 しかし、この評価バーは3スタートを表しました。私は、誰かが私を助けて...それを把握することはできません。..フロートタイプx.5を評価バーに設定するにはどうすればよいですか?

コード例:

RatingBar rt =(RatingBar)findViewById(R.id.ratingbar1); 
rt.setNumStart=5; 
rt.setStepSize=0.5f; 
rt.setRating(2.5f); 
+0

はあなたのように正確にあなたのコードをフォーマットすることができます試してください:あなたは、変数の値を設定している場合は、 rt.setRating((float) var) See Screenshot

UPDATEを試してみてくださいあなたのプロジェクトにはありましたか? –

答えて

0
RatingBar rt =(RatingBar)findViewById(R.id.ratingBar); 
rt.setIsIndicator(true); 
rt.setNumStars(5); 
rt.setStepSize(0.5f); 
rt.setRating(2.5f); 

私は同じコードを使用し、それは私のために働いています。おそらくバグであるか、レーティングを設定しようとして問題が発生している可能性があります。 、最大値を設定すると、一部のユーザーのための問題を解決しているようだrt.setMax(5)

+0

あなたの返信に感謝します!私はできることすべてを試しましたが、私はこの問題を解決できませんでした。私は2つのフロート型変数の平均を取得したい。 – user6307013

0
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); 
+0

これは私のコードです。私に詳細な答えを聞かせてください... – user6307013

関連する問題