Моя проблема в том, что когда я оцениваю одно и то же значение снова, он не отвечает во второй раз. Это означает, что когда я ставлю «4», как в первый раз, тогда я не могу оценить as'4 'во второй раз ... Он реагирует только тогда, когда я оцениваю другое значение, а не «4».
РейтингBar: тот же рейтинг дважды
Вот что я пробовал (мне нужно действие для getRatingBar
в моем коде).
public class InteractiveRatingBarActivity extends Activity implements
OnRatingBarChangeListener {
RatingBar getRatingBar;
RatingBar setRatingBar;
TextView countText;
int count;
float curRate;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewsById();
setRatingBar.setRating(curRate);//overall rating
getRatingBar.setOnRatingBarChangeListener(this);// ratingbar for user action.
}
private void findViewsById() {
getRatingBar = (RatingBar) findViewById(R.id.getRating);
setRatingBar = (RatingBar) findViewById(R.id.setRating);
countText = (TextView) findViewById(R.id.countText);
}
public void onRatingChanged(RatingBar rateBar, float rating,
boolean fromUser) {
DecimalFormat decimalFormat = new DecimalFormat("#.#");
curRate = Float.valueOf(decimalFormat.format((curRate * count + rating)
/++count));
Toast.makeText(InteractiveRatingBarActivity.this,
"New Rating: " + curRate, Toast.LENGTH_SHORT).show();
setRatingBar.setRating(curRate);
countText.setText(count + " Ratings");
}
}
заранее спасибо
Это был не мой ответ? – Dyna
Yup Я не сказал, что ваш ответ неправильный. Вы можете использовать оба метода touchListener и ratingbarChanged. – Ansar
ok @Ansar * cheers – Dyna