Android — условное отображение кнопок на основе ответа на залп

#android #android-volley

#Android #android-залп

Вопрос:

Я отправляю запрос через Volley, он возвращает некоторый json, подобный этому:

{"voted_for":true} или {"voted_for":false}

Я хочу, чтобы тип кнопки, которую я отображаю в макете, предлагал обратное. Итак, если пользователь проголосовал за объект, у него есть кнопка для отмены голосования. Аналогично, если они не проголосовали за это, у них может быть кнопка для голосования за это. Сама кнопка будет функционировать одинаково независимо — отправка другого запроса через Volley для переключения голосования в серверном API.

Как я могу определить, какая кнопка отображается (например, заполненное сердце или пустое сердце) в ответе, который я получаю с помощью volley?

Ответ №1:

Если я правильно понимаю ваши требования и статус, я думаю, что решение заключается в том, что:

 Object voted_for = ClassVolley.fromJson(volleyRet);
if(voted_for) {
    btn.setSrc("heart.png");
} else {
    btn.setSrc("empty_heart.png");
}
  

Ответ №2:

Ответ Робина правильный и должен работать для вас.

Другим вариантом было бы

 if(response.equals("voted_for") {
  btn.setText("Unvote");
else {
  btn.setText("Vote);
}