2012-09-14 1 views
1

Я пытаюсь перенести объект из одного вида деятельности в другой с помощью андроида. здесь я не могу отправить уже существующие объекты (полученные как null), но при отправке нового объекта он работает правильно.не может отправлять существующие объекты с помощью сериализации android

вот фрагмент кода:

private void someMethod(TPackage tpackageObj) { 
Intent intent = new Intent(obj, my.tatasky.ChannelActivity.class);  
intent.putExtra("parcel", new TPackage()); // it works 
intent.putExtra("parcel", tpackageObj); // doesn't work 
} 
+0

как вы называете этот метод? и я думаю, что мы используем putParcebleExtra, а не просто putExtra. – Akram

+1

Можете ли вы опубликовать класс, который вы пытаетесь отправить? Это может иметь какое-то отношение к члену класса, не относящемуся к Serializable, который инициализируется в вашем существующем объекте, который не инициализируется в вашем вновь созданном объекте. – MCeley

+0

, когда он работает, означает, что объект передается и извлекается на стороне приемника по желанию, но «он не работает» означает, что объект (вновь созданный) извлекается как нулевой на стороне приемника. –

ответ

0

пользовательский класс реализовать Serializable интерфейс, а затем вы можете передавать экземпляры объектов в намерениях дополнительного использования putExtra (Сериализуемый ..) вариант Intent # метод putExtra().

псевдокода:

// передать: intent.putExtra ("MyClass", объект);

// для получения объекта во второй активности getIntent(). GetSerializableExtra («MyClass»);