ホームページ >Java >&#&チュートリアル >Firebase ListView アイテムに Null 値が表示されるのはなぜですか?

Firebase ListView アイテムに Null 値が表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-02 12:28:14492ブラウズ

Why Are My Firebase ListView Items Showing Null Values?

ListView での Firebase データの表示: Null 値のトラブルシューティング

Firebase データを取得して表示しようとしたときに null 値が発生した場合ListView の場合、セットアップまたはデータの取得中にエラーが発生した可能性があります。あなたが説明した問題の詳細な分析と解決策は次のとおりです:

モデル クラス規則エラー:

モデル クラス変数名が Java 命名規則に従っていることを確認してください。提供されたコードでは、クラスの変数 userId が userId として初期化されています。規則によれば、userId である必要があります。

public class Score {
    private String userId, score;

    // ...
}

非同期データ取得:

onDataChange() メソッドは非同期です。つまり、Firebase データが取得される前に呼び出されます。完全に人が住んでいます。その結果、メソッドの外でリストを宣言すると、リストは空になります。これを修正するには、リスト宣言を onDataChange() 内に移動します:

@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    List<String> list = new ArrayList<>();
    // ...
}

文字列またはスコア クラスを使用したデータの表示:

データ構造に応じて、次のことができます。データを文字列として表示するか、スコア クラスを使用して表示するかを選択します:

次のように表示String:

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);
}

Score Class を使用して表示:

for (DataSnapshot ds : dataSnapshot.getChildren()) {
    Score score = ds.getValue(Score.class);
    String userId = score.getUserId();
    String score = score.getScore();
    list.add(score);
}

これらの修正を実装することで、null 値の問題を解決し、Firebase を表示できます。 ListView 内のデータが正しく表示されます。

以上がFirebase ListView アイテムに Null 値が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。