Есть такая конструкция
String[] massiv = { getResources().getString(R.info),"4432"};
ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>(massiv.length);
HashMap<String, Object> map;
for (int i = 0; i < massiv.length; i++) {
map = new HashMap<String, Object>();
map.put("key", massiv[i]);
data.add(map);
}
Всё работает, но, не понимаю как можно добавить элемент в massiv
программно, теоретически, с других классов, чтобы по нему проходил цикл. Ну например кликаешь по кнопке, событие подхватывает какую то строку, и забрасывает ее в massiv
и по ней идет цикл. С помощью add можно обратиться только к ArrayList, но с другой стороны там условие massiv.length
. Надеюсь, вы поняли, что я имею ввиду?
Используйте вместо массива список List
. Его гораздо проще изменять динамически.
List<String> massiv = new ArrayList<>();
massiv.add(getResources().getString(R.info));
massiv.add("4432");
ArrayList<Map<String, Object>> data = new ArrayList<>(massiv.size());
HashMap<String, Object> map;
for(int i = 0; i < massiv.size(); i++) {
map = new HashMap<>();
map.put("key", massiv.get(i));
data.add(map);
}
Размер массива в Java задается при его создании и далее изменить его нельзя.
В этой строке:
String[] massiv = { getResources().getString(R.info),"4432"};
Вы создаете массив и инициализируете его. В итоге у Вас получается массив с двумя элементами. Третий элемент добавить в этот же массив нельзя.
Можно, например, заменить какой-либо элемент массива на некий другой, но добавить элемент в тот же самый массив нельзя.
Однако можно создать новый массив бОльшего размера, поместить в него элементы старого массива и новый элемент, однако, если Вам нужна такая функциональность, то лучше использовать соответствующие готовые решения, такие как расширяемый массив (ArrayList
), либо, например, связный список (LinkedList
).
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеСтолкнулся с такой проблемой, у меня при инитиализации приложения создается DocumentListener, который отвечает за подсветку синтаксика,...
Нужен компонент (на подобии DatePickerDialog) для выбора градусов, минут и секундЕсть ли такое или как это можно самому сделать