ホームページ >Java >&#&チュートリアル >Firebase ListView アイテムに Null 値が表示されるのはなぜですか?
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 サイトの他の関連記事を参照してください。