Jonathon
Jonathon

Reputation: 1591

Realm: Get name field from result

I'm trying to get the name property from a result. Looked everywhere and can't figure it out. When I log.d, I get this:

[Person{id=0, name='Jonathon', age=21}]

How do I access only the name, but not the full result?

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Realm realm = Realm.getDefaultInstance();

    realm.executeTransaction(new Realm.Transaction() {
        @Override
        public void execute(Realm realm) {
            Person person = realm.createObject(Person.class);
            person.setName("Jonathon");
            person.setAge(21);
        }
    });

    RealmQuery<Person> query = realm.where(Person.class).equalTo("name", "Jonathon");
    RealmResults<Person> result = query.findAll();

    Log.d("Result", result.toString());
}

Upvotes: 0

Views: 1124

Answers (2)

Aks4125
Aks4125

Reputation: 5720

It seems that your query is working fine.

List<Person> result = realm.where(HomeJob.class).equalTo("name", "Jonathon").findAll();
    // you can use `RealmResults` as per your requirement


for (Person p :
            result) {
        Log.d("Result", "person name: "+p.getName());

    }

Upvotes: 0

EpicPandaForce
EpicPandaForce

Reputation: 81539

RealmQuery<Person> query = realm.where(Person.class).equalTo("name", "Jonathon");
RealmResults<Person> result = query.findAll();

Person person = result.get(0);
Log.d("Result", person.getName());

Upvotes: 2

Related Questions