У меня есть объект Address
, который имеет значение, как: имя, адрес, город, штат, почтовый индекс, телефон и т.д.Передача объектов между деятельностью в Android
Я заселить объект с помощью HTTP-вызова. Эта переменная заполняется. Тогда я стараюсь передать объект в следующей деятельности, делая так:
Intent intent = new Intent(NewAddressActivity.this, BuildingTypeActivity.class);
Bundle b = new Bundle();
b.putParcelable("newAddress", (Parcelable)newAddress); // i had to cast 'newAddress' to 'Parcelable' otherwise, it was giving me an error
intent.putExtra("newAddress", b);
startActivity(intent);
И в следующей деятельности (BuildingTypeActivity), Принести объект как так.
Bundle b = this.getIntent().getExtras();
if (b != null) {
Address address = b.getParcelable("newAddress");
}
Проблема в том, что она всегда сбой, когда я добираюсь до линии «putParcelable». Это может иметь какое-то отношение к приведению к Parcelable
. Итак, я предполагаю, что это неправильный способ передачи объектов?
Любые советы о том, как правильно передать объекты, были бы весьма полезны.
http://androidhub.wordpress.com/2011/08/03/android-intents-for-passing-data-between-activities-part-3/. проверьте это – Raghunandan
. Ваш адресный объект должен реализовать Parceble, если вы хотите использовать putParcelable – pumpkee