2016-03-18 5 views
1

может ли кто-нибудь помочь мне с моей проблемой с передачей realmobject с посылкой в ​​другую деятельность, а во втором - мой объект равен нулю?Передача объекта realmobject с посылкой к действию имеет значение null

В действии i get instatne класса Категория из тега.

 Intent intent = new Intent(context, CategoryListActivity.class); 
     Category category = (Category)v.getTag(); 
     Log.e("Id", " "+category.getId()); //this is ok it prints 1 
     Parcelable parcelable = Parcels.wrap(category); 

     intent.putExtra("category", parcelable); 
     startActivity(intent); 

А в классе CategoryListActivity v Метод OnCreate является код

Intent intent = getIntent(); 
Category category = Parcels.unwrap(intent.getParcelableExtra("category")); 
Category category1= Parcels.unwrap(getIntent().getExtras().getParcelable("category")); 
Log.e("Id 1", " "+category.getId()); //retun 0 
Log.e("Id 1", " "+category1.getId()); //return 0 

И это печать 0 и я Rly не знаю, почему 0. Может кто-нибудь имеет некоторые предложения, чтобы решить эту проблему? thx, или если его необходимость вставляет мою Entity, которые расширяют RealmObject, я могу вставить

+0

Отправьте свой первичный ключ через намерение и запросите объект в своем другом действии. Какую версию Realm вы используете? Были существенные изменения в том, как классы прокси работают в 0.88.0. – EpicPandaForce

+0

Я сделал это, но я просто хочу знать, возможно ли это сделать. У меня 0.88.2 – tralalaUlalal

ответ

1

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

Это намного безопаснее просто отправить значение идентификатора и запрос для объекта на другой стороне: https://realm.io/docs/java/latest/#intents

Если вы хотите пользователь Parceler. Вы сконфигурировали свои объекты, как описано здесь: https://realm.io/docs/java/latest/#parceler

+0

Oki :) Большое спасибо, я просто хотел узнать, не может ли его возможная причина не знать об этом, и я потратил 3 часа, чтобы решить эту проблему – tralalaUlalal