【问题标题】:Cannot get the value of field Realm无法获取字段 Realm 的值
【发布时间】:2017-05-18 18:12:20
【问题描述】:

我正在使用 Realm,基本上是一个简单的应用程序,我需要在其中添加电影和类别,我有 2 个不同的模型(类别和电影),但我的问题目前仅与类别有关.

型号类别:

package com.example.afcosta.inesctec.pt.ex4realm.model;

import io.realm.RealmObject;

/**
 * Created by FilipeCosta on 18/05/2017.
 */

public class Categoria extends RealmObject {
    private String nome;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Categoria(String nome) {
        this.nome = nome;
    }

    public Categoria() {
    }
}

基本上我添加了一个领域对象(该部分工作正常)然后我想构建一个应该包含所有类别(它们的名称)的微调器。

所以我这样做了:

public class List extends AppCompatActivity {

    Realm realm;
    Spinner spinner;

    ArrayAdapter<Categoria> adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);

        spinner = (Spinner) findViewById(R.id.spinner);

        realm = Realm.getDefaultInstance();

        RealmQuery<Categoria> query = realm.where(Categoria.class);



        if(realm.isEmpty()){
            Log.d("empty","empty");
        }

        RealmResults<Categoria> result1 = query.findAll();
        Log.d("result",String.valueOf(result1));

        adapter = new ArrayAdapter<Categoria>(this, android.R.layout.simple_list_item_1, result1);


        spinner.setAdapter(adapter);


    }
}

问题是我在微调器上得到了这个:Categoria[{nome:Futebol}]

我只想得到这个:Futebol(当然与微调器内的其他实例相同。

有什么建议吗?

谢谢

【问题讨论】:

  • 尝试从 Realm 中删除一个元素,然后单击列表中的元素(或向上/向下滚动),然后阅读文档并使用 RealmBaseAdapter

标签: java android android-studio realm


【解决方案1】:

您可以将toString 方法添加到Categoria 以使其工作。

只需将此方法添加到类Categoria

 @Override
    public String toString() {
        return getName();
    }

【讨论】:

  • 我应该提醒一下,非常感谢,只有一个问题,如果我的模型有超过 1 个属性,我需要获取例如姓名和年龄(例如用户)
  • 您需要自己创建一个循环并创建一个List 字符串。
  • 不同意 Realm 上下文中的字符串列表,除非你真的别无选择。
  • 那你有什么更好的建议?
  • github.com/realm/realm-android-adapters继承RealmBaseAdapter
猜你喜欢
  • 2018-09-10
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 2021-07-14
相关资源
最近更新 更多