找不到Android Firebase的设置器/字段 [英] No setter/field for found Android Firebase

查看:45
本文介绍了找不到Android Firebase的设置器/字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用FirebaseRecyclerAdapter通过名为"Spacecraft"的Model类来获取"Pro"的所有子项,现在我想将所有候选者都检索到Pro的子项中,例如"1"

I used FirebaseRecyclerAdapter to get all the childs of "Pro" using a Model class named " Spacecraft" and now I want to retrieve all the candidates into a child of Pro like "1"

我在航天器"中创建了一个公共静态候选对象",我使用了设置方法和获取方法,但是仍然存在相同的错误

I created a public static "candidat" into "Spacecraft" and I used the setters and getters but still the same error

这是我的数据库:

这是模型类

public class Spacecraft{
    private String name;
    private String desc;
    private String last;
    private candidat candidat;

    public Spacecraft.candidat getCandidat() {
        return candidat;
    }

    public void setCandidat(Spacecraft.candidat candidat) {
        this.candidat = candidat;
    }

    public Spacecraft() {
    }
    public String getName() {

        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getLast() {
        return last;
    }

    public void setLast(String last) {
        this.last = last;
    }
    public static class candidat{

        private String info;
        private String namecandid;
        public candidat(){}
        public String getInfo() {
            return info;
        }

        public void setInfo(String info) {
            this.info = info;
        }

        public String getNamecandid() {
            return namecandid;
        }

        public void setNamecandid(String namecandid) {
            this.namecandid = namecandid;
        }
    }
}

这是我的FirebaseRecyclerAdapter代码

This is my code for FirebaseRecyclerAdapter

@Override
    protected void onStart() {
        super.onStart();
        FirebaseRecyclerAdapter<Spacecraft, candidatviewholder> firebaseRecyclerAdapter  = new FirebaseRecyclerAdapter<Spacecraft, candidatviewholder>(
                Spacecraft.class,
                R.layout.candidat,
                candidatviewholder.class,
                query){
                        @Override
                        protected void populateViewHolder(candidatviewholder viewHolder, Spacecraft model, int position) {
                            viewHolder.setName1(model.getCandidat().getNamecandid());
                            viewHolder.setInfo1(model.getCandidat().getInfo());
                        }
                    };
        rv.setAdapter(firebaseRecyclerAdapter);
    }

错误:

在com.example.ilyas.evotingapplication.Spacecraft $ candidat类中找不到key1的设置程序/字段

No setter/field for key1 found on class com.example.ilyas.evotingapplication.Spacecraft$candidat

推荐答案

我遇到了此错误,但上述解决方案未能解决.希望这种替代解决方案将对其他人有所帮助.如果几乎所有变量都发生该错误,则可能是您启用了Proguard,并且它正在删除未使用的getter和setter方法.要解决此问题,请在proguard-rules.pro文件中添加类似于以下内容的行:

I had this error but the above solutions didn't fix it. Hopefully, this alternate solution will help others. If you have that error occur for almost every variable, chances are that you have Proguard enabled and it is removing the un-used getter and setter methods. To fix this, add a line similar to this to your proguard-rules.pro file:

-keep class com.example.yourapp.ObjectClass

其中ObjectClass是存储到Firebase的Java对象类的名称.

where ObjectClass is the name of your java object class that is stored to Firebase.

这篇关于找不到Android Firebase的设置器/字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆