Android: намерение с параметрами - PullRequest
1 голос
/ 20 октября 2011

Для передачи параметров из одного действия в другое используется метод "intent.putExtra ()"

Этот метод позволяет только добавлять примитивные данные или я могу добавить параметр, являющийся Java-бином?

если вы не можете, как я могу отправить Java-бин из одного занятия в другое?

Спасибо !!

Ответы [ 4 ]

3 голосов
/ 05 декабря 2012

Вы можете отправлять объекты, если они реализуют сериализуемый.

// У вашей сущности Объект:

public class Objeto implements Serializable{

}

// У отправителя Активность:

 //create an instance of the object
Objeto object = new Objeto();
//creates an intent from the current activity to the destiny activity with the data to be     transferred.
Intent proximo = new Intent(this,TelaDestino.class); 
//transfers the object as a bundle to the next activity
proximo.putExtra("OBJETO",objeto);  
startActivity(proximo);

// При выполнении задания:

private Objeto objeto;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

objeto = (Objeto)getIntent().getSerializableExtra("OBJETO");

}

// Вы можете использовать это и быть счастливым: D

3 голосов
/ 20 октября 2011

Посмотрите на запись API для Намерение . У вас есть множество возможных типов данных, которые вы можете ввести, не последним из которых является Parcebles , Связки и Сериализуемый . Если вам действительно нужно простое маршалинг объектов, я бы преобразовал ваши bean-компоненты в JSON и поместил их в виде String, а затем преобразовал их обратно в POJO на принимающей стороне.

1 голос
/ 20 октября 2011

Другим способом обмена данными между действиями является расширение класса приложения.

Мой ответ объясняет, как его использовать.

getApplicaiton возвращает какой объект из приложений

1 голос
/ 20 октября 2011

Если ваш объект является сериализуемым, вы можете добавить его с помощью putExtra следующим образом.

i.putExtra(String key, Serializable value);

...