Форма вывода ArrayMap равна нулю - PullRequest
0 голосов
/ 12 февраля 2019

Я пишу парсер для печати файла JSON на моем мобильном телефоне.Я включаю ArrayMap для сохранения данных, полученных из файла.Моя проблема в том, что когда мне нужно распечатать данные в TextView, он возвращает ноль.Я включил код под моим вопросом.

ArrayMap<Integer, String> Array = new ArrayMap<>();
for(int i=0; i < arr.length(); i++){
    JSONObject jsonPart = arr.getJSONObject(i);
    Array.put("Main", jsonPart.getString("main"));
    Array.put("Description", jsonPart.getString("description"));
    Array.put("Id", jsonPart.getString("id"));
    TxT.append(Txt.getText() + Array.get(i));
}

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Прежде всего вам не следует использовать ключевое слово Array, поскольку оно является словом сохранения, вы можете изменить его на что-то вроде jsonMap.Вам следует использовать ArrayMap<String, String>, если вы вставляете строку в ключевой элемент.Ваш код будет выглядеть так:

 ArrayMap<String, String> jsonMap = new ArrayMap<>();
 for(int i=0; i<arr.length(); i++){
      JSONObject jsonPart = arr.getJSONObject(i);
      jsonMap.put("Main", jsonPart.getString("main"));
      jsonMap.put("Description", jsonPart.getString("description"));
      jsonMap.put("Id", jsonPart.getString("id"));
      TxT.append(TxT.getText() + jsonMap.get(i));

}

0 голосов
/ 12 февраля 2019

Изменил объявление массива следующим образом

ArrayMap<String,String>Array = new ArrayMap<>();
...