Удаления элемента JSONArray

208
26 июня 2018, 05:40

В моем Android приложение приходит JSONArray. Примерно выглядит вот так:

[19,145,51]

При определенных обстоятельств мне приходится удалять один из элементов массива. Сейчас делаю это так:

jsonAr.remove(i);

Но метод remove работает начиная с API 19. Мне же нужно это делать на 17. Как можно удалить элемент так чтобы API 17 тоже понимал что к чему?

Answer 1

Если не нужно оставлять ссылку на оригинальный массив и позволительно создать новый, то так:

public static JSONArray remove(final JSONArray from, final int index) throws JSONException {
    final JSONArray res = new JSONArray();
    for (int i = 0, count = from.length(); i < count; i++) {
        if(index != i)
            res.put(from.get(i));
    }
    return res;
}
READ ALSO
Проблема с потоками ввода вывода в Socket

Проблема с потоками ввода вывода в Socket

Тренируюсь работать с потоками ввода и вывода в Socket'ахТо есть со стороны клиента по нажатию кнопки у меня создаётся поток, который создаёт...

228
Java СlassNotFoundException oracle.jdbc.OracleDriver

Java СlassNotFoundException oracle.jdbc.OracleDriver

После создания артефакта (jar файл) в IntellIJ, при подключении к DB Oracle на RDS Amazon, выдает ошибку: СlassNotFoundException oracle

221
При обновлении версии градл до 3.1.2 получаю ошибку

При обновлении версии градл до 3.1.2 получаю ошибку

Сейчас использую в проекте градл версии 23

231
Некорректная работа(код) onTimeSet() c несколькими TimePicker

Некорректная работа(код) onTimeSet() c несколькими TimePicker

Не до конца понятно как корректно написать функцию onTimeSet() для работы с несколькими TimePicker из фрагментовГуглил, но ничего, чтобы помогло не нашел

224