Здравствуйте, у меня есть класс для глобальных переменных. Одна из функций внутри этого класса используется для очистки одного из моих массивов ArrayList. Единственная проблема в том, что она очищает два моих списка ArrayLists, и я не могу понять, почему. Все, что нужно очистить, это m_listItems.ArrayList <ArrayList <String>> очищается при очистке другого ArrayList <String>
Перед Clear Запускает: http://i.stack.imgur.com/dN5n4.png
После Ясный трассы: http://i.stack.imgur.com/5eKfj.png
Эта функция добавляет ArrayList "m_listItems" в двойной список Array.
public void addGrouptoList(){
ArrayList myArray = Global.m_listItems;
Global.groupCollection.add(myArray);
}
Эта функция должна очистить ТОЛЬКО m_listItems, но она очищает как:
public void ClearNameList(){
Global.m_listItems.clear();
}
Это, как я создал
private static ArrayList<ArrayList<String>> groupCollection= new ArrayList<>();
private static ArrayList<String> m_listItems = new ArrayList<String>();
Любая помощь в двух ArrayList был бы весьма признателен. Будь то работа или почему ее беспорядок!
EDIT Я сделал много, и прибегая к помощи я думаю, что проблема в том, что я делаю добавить (global.m_list_items), поэтому, когда я ясно m_list_items, она очищает его в моем другом массиве также ... есть ли работа для этого? Я читал, что Static - это то, что вызывает проблему, но мне нужно это для моей глобальной переменной. Кажется, я не нашел обходного пути в google.
Спасибо!
Почему вы сделали arraylist глобальным? –
В двойном списке массивов хранятся группы, в которых хранятся имена каждого члена группы. Мне нужно было получить доступ к этим данным по всем видам деятельности, и единственный способ, которым я мог это найти, - это создать глобальный класс. Я уверен, что у них намного лучшие способы сделать это (и я готов слушать), но я начинающий программист для Java android и делаю классный проект. –