Android Realm-使用Intent传递Realm对象 [英] Android Realm - Passing Realm object using Intent
本文介绍了Android Realm-使用Intent传递Realm对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将领域对象从一项活动传递到另一项活动.例如
I want to pass a realm object from one activity to another. e.g.
Intent intent = new Intent(MainActivity.this, Second.class);
intent.putExtra("Student", studentObj); // studentObj is a realm object
startActivity(intent);
并从第二个活动中接收它
And receive it from the Second activity
Intent i = getIntent();
student = (Student) i.getSerializableExtra("Student");
但这会导致空指针异常.
but this causes a null pointer exception.
java.lang.RuntimeException: Unable to start activity ComponentInfo{testapp.com.tms/tms.testapp.com.tms.view.SecondActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'io.realm.internal.LinkView io.realm.internal.Row.getLinkList(long)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2760)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5944)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184)
有解决此问题的主意吗?
Any idea to fix this?
推荐答案
Realm当前不支持本机跨Intent解析RealmObject.因此,您有2个选择:
Realm currently doesn't support parsing RealmObjects across Intents natively. So you have 2 options :
-
发送一些标识符,然后在另一侧重新查询该对象.
Send some identifier instead and requery for the object on the other side.
使用第3方库,例如Parceler.您可以在此处查看操作方法: https://realm.io/docs/java/latest/#包裹
Use a 3rd party library like Parceler. You can see how here: https://realm.io/docs/java/latest/#parceler
这篇关于Android Realm-使用Intent传递Realm对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文