Набор полос рейтингаРейтинг

Я работаю над проектом Android, и у меня есть эта панель рейтинга, на которой пользователь может оценивать, и после рейтинга вызывается setOnRatingBarChangeListener, и все в порядке.

Но когда активность загружается снова, мне нужно, чтобы приложение получало рейтинг рейтера на рейтингуемой странице, и до сих пор все в порядке. Когда я получаю число с плавающей запятой из базы данных, я должен вызвать ratingbar.setRate(1.5), но когда я это делаю, приложение также вызывает setOnRatingBarChangeListener, и я не хочу, чтобы приложение вызывало какой-либо метод, просто устанавливая скорость, потому что пользователь уже оценил, но также если пользователь хотел изменить его скорость, все в порядке, я хочу, чтобы приложение звонило setOnRatingBarChangeListener, и оно звонит.

Что я должен делать?


person Saleh    schedule 25.10.2017    source источник
comment
Разместите также свой код, это поможет узнать, что вы делаете!   -  person Umair Shah Yousafzai    schedule 25.10.2017


Ответы (1)


Маленький трюк:

Перед установкой рейтинга удалите слушателя. Затем установите рейтинг и снова установите слушателя.

Попробуйте что-то вроде этого:

ratingBar.setOnRatingBarChangeListener(null);
ratingBar.setRating(1.5f);
ratingBar.setOnRatingBarChangeListener(/*listener*/); 
person Nabin Bhandari    schedule 25.10.2017
comment
Как это сделать? - person Saleh; 25.10.2017
comment
Спасибо за ваши усилия, но setRating не вызывает setOnRatingBarChangeListener, так что все в порядке. - person Saleh; 25.10.2017
comment
Да спасибо . - person Saleh; 26.10.2017