【发布时间】:2020-08-19 16:15:33
【问题描述】:
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 数据库截图
【问题讨论】:
-
在这个for循环下面记录
uploadPdf.size()for(DataSnapshot PostSnapShot: dataSnapshot.getChildren() -
尝试在
Upload类中添加public upload() {}。 -
@MalikBilal 已经添加了
-
@HB。请解释你想说什么
-
我在您发布的代码中看不到它。
标签: java android firebase firebase-realtime-database android-listview