首页 > 解决方案 > 使用 Intent 将 RealmQuery 对象传递给 Activity

问题描述

我有一个Activity创建一个的RealmQuery<E>,我需要将此查询传递给另一个Activity来执行它。我无法使用 an 来执行此操作,Intent因为我要传递的对象不可打包。如何做到这一点?

标签: javaandroidandroid-intentandroid-activityrealm

解决方案


来回传递数据Activity可以通过 Intent Extra 来实现。

您可以简单地执行以下操作

首先Activity 首先将您的数据转换为变量其数据类型

String uid = myModel.getUid();

ChefProfile向班级发送数据

Intent intent = new Intent(MainActivity.this, ChefProfile.class);
intent.putExtra(ChefProfile.EXTRA_USER_ID, uid);
startActivity(intent);

现在让我们从 Intent 获取数据,因为它已经到达调用活动

这是Chef_Profile课堂。首先,我们必须为到达的数据创建一个常量字段。

private static final String EXTRA_USER_KEY = "uid";

//Here we obtain the data sent from first activity and extract it into userId
userId = getIntent().getStringExtra(EXTRA_USER_KEY);
if (userId == null) {
    throw new IllegalArgumentException("Must pass EXTRA_POST_KEY");
}

推荐阅读