2011-09-07 51 views
12

如何阅读和显示等级栏值如何获得的RatingBar值

i[0] // should be selected value 

private OnClickListener onclickbutton1 = new OnClickListener() { 
    public void onClick(View v) { 
     int[] i = new int[]{ R.id.mRatingBar}; 

     statusMessage.setText("value is " + i[0]); 
    } 
}; 

//这个作品

private OnClickListener onclickbutton1 = new OnClickListener() { 
    public void onClick(View v) { 
     RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar); 

     float[] i = new float[]{ mBar.getRating() }; 

     statusMessage.setText("value is.. " + i[0]); 
    } 
}; 
+0

getNumStars()方法返回的评价 –

+0

你好功率MOSFET,检查我的答案。 –

+0

以下所有答案都不适用 –

回答

24

你在这里做的是不正确的:你输出的评级栏的资源ID,而不是它的价值。

让我假定你已经做得比较早是这样的:

RatingBar mBar = (RatingBar) findViewById(R.id.mRatingBar); 
mBar.setOnClickListener(onclickbutton1); 

例如在活动的onCreate()。然后,在您提供的点击聆听者内,您可以获得如下评分:

public void onClick(View v) { 
    RatingBar bar = (RatingBar) v; 
    statusMessage.setText("value is " + bar.getRating()); 
} 
6

简单的通话

ratingBar.getRating() ; GET RATING BAR VALUE 

如果你想获得评级值改变时

 public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) { 

    final int numStars = ratingBar.getNumStars(); 
    ratingBar.getRating() ; 
    final float ratingBarStepSize = ratingBar.getStepSize(); 

} 
2

使用该得到的评价

(RatingBar)findViewById(R.id.ratingbar1)).setOnRatingBarChangeListener(this); 
     ((RatingBar)findViewById(R.id.ratingbar2)).setOnRatingBarChangeListener(this); 
    } 

    public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromTouch) { 
     final int numStars = ratingBar.getNumStars(); 
     mRatingText.setText( 
       getString(R.string.ratingbar_rating) + " " + rating + "/" + numStars); 

} 
0
RatingBar rate = (RatingBar)findViewById(R.id.R_rate); 

//use ratings within event listner code block 

float rating = rate.getRating(); 
0
import android.widget.RatingBar; 

public class PageAboutFragment extends Fragment implements RatingBar.OnRatingBarChangeListener { 


rbSearch.setOnRatingBarChangeListener(this); 


public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { 
     tvRatingContent.setText(rating+"/5 Stars"); 
} 
0
rbRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { 
      @Override 
      public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { 

       Float ratingVal = (Float) rating; 
       Float ratingvalue = (Float) rbRatingBar.getRating(); 
       Toast.makeText(getApplicationContext(), " Ratings : " + String.valueOf(ratingVal) + "", Toast.LENGTH_SHORT).show(); 
       Toast.makeText(getApplicationContext(), " Ratings1 : " + ratingvalue + "", Toast.LENGTH_SHORT).show(); 
      } 
     }); 
+0

请在您的回答中添加说明 –