如何通过Realm中的Intent传递数据

时间:2016-11-17 06:48:29

标签: android android-intent realm

我想知道如何在领域中通过意图传递数据。在this example他正在使用alertDialog,但是如果我们想要开始新的活动,那么如何在新活动中加载这些数据?

1 个答案:

答案 0 :(得分:0)

您应该通过捆绑包发送对象的主键,并在新的Activity中重新查询该对象。

Intent intent = new Intent(this /*activity*/, OtherActivity.class);
intent.putExtra("personId", person.getId());
startActivity(intent);

public class OtherActivity extends AppCompatActivity {
    Realm realm;
    Person person;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        realm = Realm.getDefaultInstance();
        person = realm.where(Person.class)
                      .equalTo(PersonFields.ID, getIntent().getLongExtra("personId"))
                      .findFirst();
        //...
    }

    @Override
    public void onDestroy() {
        if(realm != null) {
            realm.close();
        }
        super.onDestroy();
    }
}

您可以在the official documentation或我的Medium article series中详细了解常见的常见问题解答。