【发布时间】:2023-03-25 22:10:01
【问题描述】:
我正在尝试从 Firestore 获取数据并将它们添加到回收站视图中,我尝试这样做:
for (DocumentChange doc : queryDocumentSnapshots.getDocumentChanges()) {
if (doc.getType() == DocumentChange.Type.ADDED) {
Users users = doc.getDocument().toObject(Users.class);
if (users.getName() != null) {
if(users.getStatus() == null){
mUsersList.add(new Users(true));
mUsersList.add(users);
}
mUsersList.add(users);
usersListAdapter.notifyDataSetChanged();
}
}
}
我已经以正确的方式配置了一个适配器,但是当我尝试设置布尔标志时,这是显示一个布局所必需的,或者另一个:
java.lang.RuntimeException:无法反序列化对象。 com.example.gusta.client.list_model.Users 类没有定义无参数构造函数。如果您使用 ProGuard,请确保这些构造函数没有被剥离。
这是因为我需要一个空的构造函数,但是如果我在我的列表上设置一个空的构造函数,我将无法在布局之间进行选择。
如果您知道答案或知道可以帮助我解决此问题的视频课程,我将非常高兴,谢谢。
public class Users {
String user,status,image,descricao;
private Boolean adcionais;
public Users(){
}
public Users(String name, String status,Boolean adcionais) {
this.user = name;
this.status = status;
this.adcionais = adcionais;
}
public String getName() {
return ;
}
public void setName(String name) {
this.user = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public Boolean getAdcionais() {
return adcionais;
}
public void setAdcionais(Boolean adcionais) {
this.adcionais = adcionais;
}
}
【问题讨论】:
-
我在下面给出了最可能的原因和解决方案。如果这不是问题,请编辑您的问题以包含您的
Users课程。一般来说,我建议阅读how to create a minimal, complete, verifiable example 以获得关于如何使我们最有可能快速帮助您解决与代码相关的问题的重要建议。 -
如果您尝试创建具有多个布局(ViewHolder)的 RecyclerView,那么这可能会对您有所帮助stackoverflow.com/questions/26245139/…
标签: android android-recyclerview google-cloud-firestore