Как записать в ArrayList множество значений и передать их в другой класс
Я пишу приложения для андроида. Мне нужно передать значения для ArrayList из одного класса в другой, НО передавать не одной значения, а множества. Пример: у меня есть слова "Hello", мне нужно передать в ArrayList не просто одно слова, а - "H" "e" "l" "l" "o", то есть множество значений. Но проблема в том, что arraylist в которой я хочу записать эти значения, существует только в входных параметрах метода в другом класса ( 2 ). Я не могу понять, как мне раздробить например - "Hello" на составные элементы и записать их в массив. Если я использую цикл, то каждая итерация вызова записи в массив, будет вызывать запуск всего кода класса.
( 1 ) У меня есть класс - MainActivity, в нем есть метод (кнопка) - onClickStart.
Вот её код (без всего лишнего) - out.setText(algorithm.mainMethod(new ArrayList<String>() {{ add(String.valueOf(str)); }})); - это запись в массив mainLine, которой находиться в входном параметре метода - mainMethod
( 2 ) Есть класс - Algorithm, в нем есть метод с входными параметрами -
public String mainMethod(ArrayList<String> mainLine)
Ответы (1 шт):
Передать массив из одной активности в другую можно таким способом:
ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("mylist", myList);
и принять так:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");
конвертировать слово в массив букв можно так:
String str = "HelloWorld";
ArrayList<Character> myList = new ArrayList<>();
char[] ch = str.toCharArray();
for (char c : ch) {
myList.add(c);
}
либо передавайте строку и конвертируйте ее в символы уже в конечной активности.