Rumah > Java > javaTutorial > Mengapa Item Firebase ListView Saya Menunjukkan Nilai Null?

Mengapa Item Firebase ListView Saya Menunjukkan Nilai Null?

Patricia Arquette
Lepaskan: 2024-12-02 12:28:14
asal
491 orang telah melayarinya

Why Are My Firebase ListView Items Showing Null Values?

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;

    // ...
}
Salin selepas log masuk

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<>();
    // ...
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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);
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan