java - 在数组中它存储 NULL 而不是 PDF 文件名
问题描述
public class cp extends AppCompatActivity {
ListView ListPdf;
DatabaseReference databaseReference;
List<upload> uploadPdf;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cp);
ListPdf = (ListView) findViewById(R.id.List);
uploadPdf = new ArrayList<>();
ViewAllPdf();
}
private void ViewAllPdf() {
databaseReference = FirebaseDatabase.getInstance().getReference("year_1");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot PostSnapShot: dataSnapshot.getChildren()){
upload Pdf = PostSnapShot.getValue(upload.class);
uploadPdf.add(Pdf);
}
String[] uploads = new String[uploadPdf.size()];
for(int i=0;i<uploads.length;i++){
uploads[i] = uploadPdf.get(i).getName();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,uploads);
ListPdf.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
上传类
public class upload {
public String name;
public upload() {
this.name = name;
}
public String getName() {
return name;
}
}
在 uploads[ ] 中,它存储的是 null 而不是文件名,我不知道是什么问题。我尝试使用 logcat 进行调试,但它显示 Pdf 对象具有三个文件,但在 uploads[] 中它存储 NULL。请调查一下
Firebase 数据库截图
解决方案
您的代码的问题是您的 POJO 类Upload
。查看 Firebase 文档中的示例
public class User {
public String username;
public String email;
public User() {
// Default constructor required for calls to DataSnapshot.getValue(User.class)
}
public User(String username, String email) {
this.username = username;
this.email = email;
}
}
此外,您的实时数据库中的字段名称与您的 POJO 类不匹配。
推荐阅读
- c# - 如何找到数组的最小值和最大值以及数组的平方和反转的数组?
- asp.net - 如何使用 Azure 服务发送约会
- java - 如何通过 RestAssured 配置和发送多部分请求
- python - 我可以使用 2 个 for 循环和一个 if 语句进行嵌套列表理解吗?
- laravel - 目标类 [App\Http\Controllers\EventsController] 不存在
- c++ - 从我的二维数组中的一列返回字符串值被压缩成一个字符串(在 Mac os 上打开 Windows txt 文件)
- reactjs - 如何在反应测试库中将参数传递给 getByText?
- scala - 将日志重定向到 Scala 中的文件
- architecture - 读取 CQRS 中的模型和关系数据
- tcpdf - TCPDF Header 和 Top Margin 仅在第一页上,然后没有 header 和不同的 top margin 在其余页面上