Menunjukkan Data Firebase dalam ListView: Menyelesaikan Masalah Nilai Null
Jika anda menghadapi nilai nol semasa cuba mendapatkan data Firebase dan memaparkannya dalam a ListView, ada kemungkinan ralat telah berlaku semasa persediaan atau pengambilan data. Berikut ialah analisis dan penyelesaian yang lebih dekat kepada isu yang anda huraikan:
Ralat Konvensyen Kelas Model:
Pastikan nama pembolehubah kelas model anda mematuhi Konvensyen Penamaan Java. Dalam kod yang disediakan, kelas anda mempunyai userId pembolehubah yang dimulakan sebagai userId. Menurut konvensyen, ia mestilah userId.
public class Score { private String userId, score; // ... }
Pendapatan Data Tak Segerak:
Kaedah onDataChange() adalah tak segerak, bermakna ia dipanggil sebelum data Firebase berpenduduk penuh. Akibatnya, senarai anda akan kosong jika anda mengisytiharkannya di luar kaedah. Untuk membetulkannya, alihkan pengisytiharan senarai ke dalam onDataChange():
@Override public void onDataChange(DataSnapshot dataSnapshot) { List<String> list = new ArrayList<>(); // ... }
Memaparkan Data Menggunakan Rentetan atau Kelas Skor:
Bergantung pada struktur data anda, anda boleh pilih untuk memaparkan data sebagai rentetan atau menggunakan kelas Skor:
Memaparkan sebagai Rentetan:
for (DataSnapshot ds : dataSnapshot.getChildren()) { String userId = ds.child("userId").getValue(String.class); String score = ds.child("score").getValue(String.class); list.add(userId + " / " + score); }
Memaparkan Menggunakan Kelas Skor:
for (DataSnapshot ds : dataSnapshot.getChildren()) { Score score = ds.getValue(Score.class); String userId = score.getUserId(); String score = score.getScore(); list.add(score); }
Dengan melaksanakan pembetulan ini, anda boleh menyelesaikan isu nilai nol dan memaparkan Firebase anda data dalam ListView dengan betul.
Atas ialah kandungan terperinci Mengapa Item Firebase ListView Saya Menunjukkan Nilai Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!