【发布时间】:2021-06-14 14:14:01
【问题描述】:
我的实时数据库 json
"module1" : {
"Operating System" : {
"pdfName" : "pdf",
"pdfUrl" : "gs://knec-pastpapers.appspot.com/module1/OS/july2007.pdf"
}
}
我在访问 操作系统 下的字段并在 Recycler 视图中显示数据时遇到问题。 这是我的模型课
public class viewModel {
public String pdfName;
public String pdfUrl;
public viewModel() {
}
public viewModel(String pdfName, String pdfUrl) {
this.pdfName = pdfName;
this.pdfUrl=pdfUrl;
}
public String getPdfName() {
return pdfName;
}
public void setPdfName(String pdfName) {
this.pdfName = pdfName;
}
public String getPdfUrl() {
return pdfUrl;
}
public void setPdfUrl(String pdfUrl) {
this.pdfUrl = pdfUrl;
}
这就是我尝试从实时数据库访问字段的方式
databaseReference= FirebaseDatabase.getInstance().getReference("ict").child("Operating System");
getImageData();
}
private void getImageData() {
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot di:dataSnapshot.getChildren()){
viewModel articleList=di.getValue(viewModel.class);
articleLists.add(articleList);
}
loadpdfsAdapter adapter=new loadpdfsAdapter(articleLists,getApplicationContext());
rv.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
运行代码后,我的 recyclerview 为空。 我的问题是如何访问操作系统下的子节点?
【问题讨论】:
-
您希望在 RecyclerView 中显示什么?在您的“操作系统”内部,只有两个字符串值。
-
“操作系统”中的两个字符串
-
所以你需要
pdf和gs://knec-pastpapers.appspot.com/module1/OS/july2007.pdf。在 RecyclerView 中显示单个对象的值是没有意义的。此视图旨在容纳多个对象。 -
但是当没有操作系统选项 "module1" : { "pdfName" : "pdf", "pdfUrl" : "gs://knec- pastpapers.appspot.com/module1/OS/july2007.pdf" } 并在 recyclerview 上正确显示
-
我的问题是如何在操作系统下访问两个字段。请帮助我@AlexMamo
标签: java android firebase firebase-realtime-database