У меня есть текст редактирования, а также панель оценки в моей программе. Я проверяю, имеет ли пользователь более трех символов в тексте редактирования, а для бара рейтинга должно быть что-то большее, чем 0,5 звезды (в основном, чтобы проверить, по крайней мере, они нажали на любой из них).Оценка бара, как получить количество звезд?
final EditText commentbox = (EditText)findViewById(R.id.comment);
final RatingBar rating = (RatingBar)findViewById(R.id.rating);
final Button feedbackbutton = (Button)findViewById(R.id.submit);
final TextWatcher watcher = new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(commentbox.length() >= 3 && rating.getNumStars() >=0.5){
feedbackbutton.setEnabled(true);
feedbackbutton.setBackgroundColor(Color.parseColor("#369742"));
} else {
feedbackbutton.setEnabled(false);
feedbackbutton.setBackgroundColor(Color.parseColor("#ffcacaca"));
}
}
};
commentbox.addTextChangedListener(watcher);
rating.setOnRatingBarChangeListener((this));
Так как вы можете видеть, что это должен отвечать те условия для того, чтобы кнопки, чтобы стать включена, а также изменить цвет фона. Однако, как только я напишу более трех символов в тексте редактирования, кнопка сама включит и изменит свой цвет. Он не ищет состояние бара.
Может кто-то мне помочь, пожалуйста
Совершенных. Благодаря ! – Sadman
отличный ответ. –