【发布时间】:2017-01-14 12:43:33
【问题描述】:
我使用 FirebaseRecyclerAdapter 使用名为“Spacecraft”的模型类获取“Pro”的所有子代,现在我想将所有候选者检索到 Pro 的子代中,例如“1”
我在“Spacecraft”中创建了一个公共静态“候选人”,我使用了 setter 和 getter,但仍然出现同样的错误
这是我的数据库:
这是模型类
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 代码
@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 的设置器/字段
【问题讨论】:
-
静态类不能有构造函数
-
我删除了构造函数但仍然是同样的错误:/ @uguboz
-
不要删除构造函数。从候选类中删除静态。并在 Spacecraft 中通过调用 new candidat() 设置候选人。
-
没用兄弟:/
-
嗨@ilyasshabi,尝试将
candidat类从Spacecraft的内部类移动到一个独立的类,就像Spacecraft一样,同时删除静态属性。
标签: android firebase firebase-realtime-database pojo