#java #android #arraylist #android-intent #android-activity
Вопрос:
Я пытаюсь передать данные из списка массивов нескольким действиям, но не могу заставить их работать. Это часть моего кода (упрощенного):
public class firstClass{
ArrayList<String> listOfNames = new ArrayList<String>();
Intent intent = new Intent(getApplicationContext(), secondClass.class);
Intent intent2 = new Intent(getApplicationContext(), thirdClass.class);
intent2.putStringArrayListExtra("listOfNames", listOfNames)
intent.putStringArrayListExtra("listOfNames", listOfNames);
...
startActivity(intent);
Поэтому я хочу продолжить начатое действие, но хочу отправить данные не только в это действие, но и в другое. В обоих этих классах у меня есть следующий код:
Intent i = getIntent();
listOfNames = i.getStringArrayListExtra("listOfNames");
У второго класса есть список, который мне нужен (потому что я начал его сразу), но у третьего класса его нет. Проблема в том, что я не хочу сразу начинать третий класс. Как я могу это исправить?
Я также пытался запустить третий класс из второго класса и передать данные из второго класса (то есть из первого класса во второй класс в третий класс), но это тоже не работает, потому что я удаляю элементы из списка во втором классе, но я хочу, чтобы полный список достиг третьего класса.
Спасибо,
Koen
Комментарии:
1. Насколько велик этот список? В общем, вы не хотите отправлять огромные списки вещей в an
Intent
.2. В списке не более 8 имен. Такой не большой.
Ответ №1:
Я также пытался запустить третий класс из второго класса и передать данные из второго класса (то есть из первого класса во второй класс в третий класс), но это тоже не работает, потому что я удаляю элементы из списка во втором классе, но я хочу, чтобы полный список достиг третьего класса.
Поэтому сначала сделайте копию списка …
Измените одну копию списка во втором классе и отправьте другую копию, которая остается полным списком, в 3-й класс.