Как получить значение 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]);
}
};
Ответы
Ответ 1
Что вы здесь делаете неправильно: вы выводите идентификатор ресурса в баре оценки, а не его значение.
Позвольте мне предположить, что вы ранее сделали что-то вроде:
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());
}
Ответ 2
Простой вызов
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();
}
Ответ 3
используйте это, чтобы получить рейтинг
(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);
}
Ответ 4
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();
}
});
Ответ 5
RatingBar ratingBar = (RatingBar) findViewById(R.id.mRatingBar);
RatingBar.setOnClickListener(onclickbutton1);
public void onClick(View v) {
RatingBar bar = (RatingBar) v;
rating.setText("value is " + bar.getRating());
}
Ответ 6
Используйте следующий пример ссылки для получения рейтинга в рейтинге.
http://androidorigin.blogspot.com/2010/10/android-ratingbar-demo-program.html
Ответ 7
RatingBar rate = (RatingBar)findViewById(R.id.R_rate);
//use ratings within event listner code block
float rating = rate.getRating();
Ответ 8
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");
}
Ответ 9
var ratingBar = findViewById<RatingBar>(R.id.ratingBarid);
var text1 = findViewById<TextView>(R.id.textViewid)
// rating bar click to show the text view
ratingBar.setOnRatingBarChangeListener(object: RatingBar.OnRatingBarChangeListener{
override fun onRatingChanged(ratingBar: RatingBar?, rating: Float, fromUser: Boolean) {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
text1.text = "Rating bar result $rating"
}
})
Ответ 10
var ratingBar = findViewById<RatingBar>(R.id.ratingBarid);
var btn= findViewById<Button>(R.id.buttonid);
var text1 = findViewById<TextView>(R.id.textViewid)
/*
3rd rules of
if (ratingBar!=null){
btn.setOnClickListener {
val msg = ratingBar.rating.toString();
text1.setText("The result of $msg")
}
}
// rating bar click to show the text view
// ratingBar.setOnRatingBarChangeListener(this)
// 1st rules of Rating Bar..
ratingBar.setOnRatingBarChangeListener(object: RatingBar.OnRatingBarChangeListener{
override fun onRatingChanged(ratingBar: RatingBar?, rating: Float, fromUser: Boolean) {
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
text1.text = "Rating bar result $rating"
}
})
}
// 2nd rules of Rating bar ....
override fun onRatingChanged(ratingBar: RatingBar?, rating: Float, fromUser: Boolean) {
//TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
var text1 = findViewById<TextView>(R.id.textViewid)
text1.text = "Rating Bar Result : $rating"
*/
}