Как передать список массивов из одного действия в другое, не запуская его - PullRequest
3 голосов
/ 06 сентября 2011

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

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);

                }
}

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

Ответы [ 4 ]

8 голосов
/ 06 сентября 2011

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

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

Таким образом, вы можете получить доступ к вашему ArrayList из любого места с помощью

activity_name.array;

, где имя_операции - это действие иликласс, в котором вы объявляете статический ArrayList

1 голос
/ 06 сентября 2011

использовать 1-е занятие

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

2-е занятие:

arl=bundle.getStringArrayList("key");
1 голос
/ 06 сентября 2011

вы можете передать намерение уже запущенной деятельности. в намерении вы можете добавить дополнительный

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 голос
/ 06 сентября 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...