問題: ユーザーのログイン後、メイン メニュー画面の ListView に Firebase データが表示されません。
コードチュートリアル:
public void makeItem () { lv = findViewById(R.id.listView); db = FirebaseDatabase.getInstance().getReference(); helper = new FirebaseHelper(db); adapter= new AdapterItem(this,helper.retrive()); lv.setAdapter(adapter); }
public AdapterItem(Context c, ArrayList<CustomListAdapter> customListAdapters) { this.c = c; this.customListAdapters = customListAdapters; }
private String ItemName; // Field in CustomListAdapter class ItemName.setText(CLA.getItemName()); // Getter in AdapterItem class
問題:
AdapterItem クラスのゲッター関数の名前は、大文字の ' が付いている getItemName() です。私'。ただし、Firebase は、CustomListAdapter クラスのフィールド名が小文字の「i」を含む itemName であることを想定しています。
解決策:
解決策 1: モデルの名前を変更するクラス フィールド
Java に従うように CustomListAdapter クラスを更新します。命名規則:
public class CustomListAdapter { private String itemName, quantity, serialNo, supplierName, supplierEmail, supplierPhone; }
解決策 2: アノテーションを使用する
CustomListAdapter クラスをそのままにして、ゲッターの前に @PropertyName アノテーションを使用します:
@PropertyName("ItemName") public String getItemName() { return ItemName; }
追加考慮事項:
Firebase データベース内のデータが正しく、期待どおりにフォーマットされていることを確認してください。
以上がログイン後に Firebase データが Android ListView に表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。