java - 从 firebase 数据库显示到 FirebaseRecyclerAdapter 时出错

标签 java android firebase firebase-realtime-database firebaseui

我正在尝试将 Firebase 数据库中的数据显示到 RecylerView,并且正在遵循本教程 http://www.programmingviral.com/firebase-recyclerview-tutorial/

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.biodatalist_layout);
        ButterKnife.bind(this);

        recyclerView = findViewById(R.id.rec);

        LinearLayoutManager horizontalLayoutManagaer=new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);
        recyclerView.setLayoutManager(horizontalLayoutManagaer);

        mdatabase = FirebaseDatabase.getInstance().getReference().child("Biodata");
        mdatabase.keepSynced(true);

        FirebaseRecyclerAdapter<BiodataModel, BiodataAdapter> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<BiodataModel, BiodataAdapter>(
                        BiodataModel.class,
                        R.layout.biodata_list_row,
                        BiodataAdapter.class,
                        mdatabase
                )
                {
                    @Override
                    protected void populateViewHolder(final BiodataAdapter viewHolder,final BiodataModel model,
                                                      int position) {
                        viewHolder.setEmailtext(model.getEmail());
                        viewHolder.setFullnametext(model.getFullname());

                    }

                };

        recyclerView.setAdapter(firebaseRecyclerAdapter);
    }

和我的BiodataModel

public class BiodataModel {

    public String Fullname,Email,NoTelp,Alamat;

    public BiodataModel() {

    }

    public String getFullname() {
        return Fullname;
    }

    public String getEmail() {
        return Email;
    }

    public String getNoTelp() {
        return NoTelp;
    }

    public String getAlamat() {
        return Alamat;
    }

    public void setFullname(String Fullname) {
        this.Fullname = Fullname;
    }

    public void setEmail(String Email) {
        this.Email = Email;
    }

    public void setNoTelp(String NoTelp) {
        this.NoTelp = NoTelp;
    }

    public void setAlamat(String Alamat) {
        this.Alamat = Alamat;
    }
}

当我运行此 Activity 时。我收到此错误

com.google.firebase.database.DatabaseException: Found two getters or fields with conflicting case sensitivity for property: alamat

我的结构

enter image description here

我该如何解决这个问题?

最佳答案

在您的数据库中,您有属性:小写的alamat。但是在模型类中,您的字段 Alamat 是大写的,两者应该是相同的。

更改模型类中的字段:

public String alamat;

public String getAlamat() {
    return alamat;
}

public void setAlamat(String alamat) {
    this.alamat = alamat;
}

关于java - 从 firebase 数据库显示到 FirebaseRecyclerAdapter 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50132803/

相关文章:

android - 再次打包相同对象时获取解码未知类型代码

java - 抽屉导航上的 Back Pressed Exit 对话框 Back Pressed 不起作用

node.js - 在 firebase 中看不到请求 header 的值?

Java认证与授权

java - 如何有效地同步对目录的访问以最大化并发性

java - 在这个 JMS 示例中,JNDI 查找是如何工作的?

java - 如何检查节点是否为属性

java - 如果我使用不同的 ViewItemType,我应该使用 viewHolders 吗?

javascript - 如何将数据从类传递到 React Native 数组、firebase、stack navigator v5 中的函数

javascript - 如何使用 firebase 数组进行 ng-repeat?