2011-09-07 26 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

請在您的回答中添加說明 –