0
当我运行下面的代码,我收到以下错误:火力地堡POJO不工作,不承认阶级,我尝试转换为
com.google.firebase.database.DatabaseException: Class java.util.HashMap has generic type parameters, please use GenericTypeIndicator instead.
seniorRef.orderByChild("seniorID").equalTo(caretaker.getSeniorID())
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data : dataSnapshot.getChildren()) {
Log.d("senior", data.toString());
Senior senior = data.getValue(Senior.class);
seniorBox.setText(senior.getFirstName() + " " + senior.getLastName());
caretasks(senior);
}
}
有什么奇怪的是,这个代码是完美的工作很长一段时间,我对于目前正在研究的内容对高级班(下文)做了一些小修改。昨天晚上我取得了一些进展,但它现在拒绝将它从HashMap转换为Senior。如果我尝试将其转换为(高级)data.getValue(),则会引发类型转换错误。请让我知道我做错了什么。
public class Senior implements Serializable {
private String seniorID;
private String firstName;
private String lastName;
private String address;
private HashMap<String, HashMap> activities;
public Senior(){}
...
}
编辑:还值得一提的是,我有另一个类,使同一个对象,完全相同的查询,它工作得很好。
目前数据库中的数据可能与您最近对Senior.class所做的更改不匹配吗? –
@MacLeanSochor我得到'HashMap活动'参数来写入数据库昨天,我只是试图从数据库中删除该特定的节点,它的工作原理,所以错误肯定存在。 –