Передача массива строк между действиями Android - PullRequest
26 голосов
/ 13 декабря 2010

У меня 2 строковых массива внутри First Activity - A, теперь мне нужно передать оба массива в second_activity - B, как мне это сделать?

Я знаю о концепции Intent в Android и уже передал только одно значение переменной в другое действие, но я не реализовал концепцию передачи строковых массивов между действиями,Я уже просмотрел сеть для того же.

Пожалуйста, дайте мне знать о возможном решении.

Ответы [ 3 ]

75 голосов
/ 13 декабря 2010
Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);


Надеюсь, это поможет вам.

Чтобы прочитать:

Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
4 голосов
/ 27 июня 2014

Не является прямым ответом на вопрос, но вы также можете использовать .putStringArrayListExtra () в вашем комплекте. Это более гибко, чем отправка строкового массива.

Bundle b=new Bundle();
b.putStringArrayListExtra("URL_ARRAY_LIST",
                        myStringArrayList);
Intent i=new Intent(context, Class);
i.putExtras(b);

Тогда вы можете получить этот arrayList следующим образом:

ArrayList<String> urls;
urls = getIntent().getStringArrayListExtra("URL_ARRAY_LIST");
3 голосов
/ 13 декабря 2010

Intents переносит данные в карту значения ключа, где «key» - это идентификатор имени строки, который вы выбираете при сохранении данных в Intent.При чтении этих данных вы запрашиваете тот же «ключ».Вы можете хранить различные типы данных в одном намерении.

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