Итак, в основном я создал карту в своем классе FlagReportStamped
и итерировал ее по ключам map.keyset
, и теперь у меня возникает ошибка типа ERROR
: незарегистрированное исключение JSONException;должен быть пойман или объявлен брошенным
Может ли кто-нибудь помочь мне реорганизовать мой код? Я здесь только новичок.
Класс активности:
//flagreport
final Call<FlagReportStamped> callFlagReport = jsonAPI.getReportID();
callFlagReport.enqueue(new Callback<FlagReportStamped>() {
@Override
public void onResponse(Call<FlagReportStamped> call, Response<FlagReportStamped> response) {
if (!response.isSuccessful()) {
Log.e("mainAction", "Code: " + response.code());
return;
}
JSONObject jObject = new JSONObject(response.body().getFlagReport().getMap());
Iterator<?> keys = jObject.keys();
while( keys.hasNext() ){
String key = (String)keys.next();
boolean value = jObject.getBoolean(key); // I get an error here
SpannableString ss = new SpannableString(key);//text to change color
ss.setSpan(new ForegroundColorSpan(value ? Color.BLUE: Color.RED), 0, ss.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
flagName.append(ss);
}
}
@Override
public void onFailure(Call<FlagReportStamped> call, Throwable t) {
call.cancel();
}
});
}
По сути, я пытаюсь сделать так, чтобы отображались только имена объектов из моего json
, и вместо отображения их значений / статуса я также повторяю его только по имени объекта и меняю его цвет в зависимости отих значения / статус.