Как передать массив в другое действие?

Я знаю, что мы можем передать любой объект с его значением в другое действие с помощью методов putExtra() и getExtra. но теперь я хочу знать, можно ли передать массив другому Activity или нет? Или, если это тогда, дайте мне знать, как я могу передать массив другому Activity? Спасибо.

Ответ 1

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

Ответ 3

См. этот вопрос. В основном:

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

Во-первых, вы должны знать два вопроса:

  • чтобы отправить sth с намерением, он должен быть сущностным
  • даже если объект является правдоподобным, существует ограничение на количество данных, которое вы можете отправить посредством намерения.

Возможным подходом может быть статическая структура, в которой вы могли бы хранить свои данные и передавать с намерением только индекс для этих данных. Используя этот индекс, новая активность может получить доступ к этим данным. Надеюсь, это поможет.

Ответ 5

 Intent intent = new Intent();
 Bundle bundle = new Bundle();
 bundle.putSerializable("bundle",Parceble Object);
 intent.putExtra(String key, String[] values);
 intent.putExtras(bundle);

И для разных типов массивов посмотрите здесь.

Thnx