Передача объекта realmobject с посылкой в ​​действие вернула значение null

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

В Activity я получаю информацию о категории класса из тега.

        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, и я не знаю, почему 0. Может ли кто-нибудь предложить какое-нибудь решение этой проблемы? спасибо, или, если это необходимо, вставьте мою сущность, которая расширяет RealmObject, которую я могу вставить


person Community    schedule 18.03.2016    source источник
comment
Отправьте его первичный ключ через намерение и запросите объект в другом действии. Какую версию Realm вы используете? В версии 0.88.0 произошли серьезные изменения в том, как работают прокси-классы.   -  person EpicPandaForce    schedule 18.03.2016
comment
Я сделал это, но я просто хочу знать, возможно ли это сделать. у меня 0.88.2   -  person    schedule 18.03.2016


Ответы (1)


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

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

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

person Christian Melchior    schedule 18.03.2016
comment
Оки :) большое спасибо, я просто хотел знать, возможно ли это, потому что я действительно не знал об этом, и я потратил 3 часа, чтобы решить эту проблему. - person ; 18.03.2016