Intereting Posts
Как определить, какое приложение открыто на Android Пользовательский PopupWindow с устаревшим методом BitmapDrawable Rjava.lang.IllegalArgumentException on startActivity (намерение, анимация пакетов) Android-телефон для разработки приложений Оптимизация файла манифеста Android для наибольшего количества поддерживаемых устройств Не удалось подключиться к tcp: 5037: невозможно подключиться к 127.0.0.1:5037: соединение не может быть выполнено, потому что целевая машина активно отказалась от него. (10061) Добавление классов неактивности к кинжалу 2 График Android Получить данные учетной записи пользователя в приложении Изменение учетной записи Github в Android Studio Как я могу заставить Android TableLayout заполнить родительский режим в ландшафтном режиме? Отображение RecyclerView в фрагменте Национальная / региональная версия Dashboard для разработчиков Android Android – Как изменить фоновый цвет графика с помощью ахартайнгина Общайтесь с считывателем смарт-карт через хост Android USB Средство просмотра журналов Android для Android

Как передать список массивов из одной активности в другую без ее запуска

У меня есть активность, у которой есть список массивов

ArrayList<String> array = new ArrayList<String>(); 

Я хочу, чтобы этот список массивов был передан другому действию при нажатии кнопки «Сохранить», но я не хочу, чтобы эта активность запускалась …

Обычно этот код помогает при запуске

  public void onClick(View v) { if (v==Save) { Bundle bundle = new Bundle(); bundle.putStringArrayList("DONE", activeURL); Intent myIntent = new Intent(Reader2.this, Aggregator.class); myIntent.putExtra("reader2", activeURL); startActivity(intent); } } 

Но я просто хочу передать массив и начать другое действие. Не могли бы вы мне помочь ? Заранее спасибо.

Вы можете объявить ArrayList как статичный, подобный этому,

 public static ArrayList<String> array = new ArrayList<String>(); 

Делая это, вы можете получить доступ к своему ArrayList из любого места

 activity_name.array; 

Где activity_name – это активность или класс, в котором вы объявляете статический массив ArrayList

Исходя из того, что вы упоминаете кнопку «Сохранить», я думаю, что вы скорее сохраните эти данные в SharedPreferences или SQLiteDatabase .

Я не уверен, что это означало бы «сохранить» некоторые данные в другой Activity а не запускать их.

С вашими данными в постоянном состоянии вы должны иметь доступ к нему из любой другой вашей Activity , что звучит так, как вы.

Вы можете передать намерение уже запущенной деятельности. Следуйте этому http://www.helloandroid.com/tutorials/communicating-between-running-activities для этого в намерении вы можете добавить дополнительные, подобные этому

 Intent contactsIntent = new Intent(getApplicationContext(), ContactCards.class); contactsIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); //Bundle containing the serialized list Bundle extraContacts = new Bundle(); //Putting the array list templist is the array list here extraContacts.putSerializable("CONTACT_KEY", tempList); extraContacts.putString("CALL_STRING", CALL_STRING); contactsIntent.putExtras(extraContacts); contactsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(contactsIntent); 

Использовать 1-ю деятельность

  Intent i=new Intent(ArraylistpassActivity.this,second.class); i.putStringArrayListExtra("key",arl);startActivity(i); 

2-я деятельность:

 arl=bundle.getStringArrayList("key");