Problème : Les données Firebase ne s'affichent pas sur ListView dans l'écran du menu principal après la connexion de l'utilisateur.
Code Procédure pas à pas :
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
Problème :
La fonction getter dans la classe AdapterItem est nommée getItemName() avec une majuscule ' JE'. Firebase, cependant, s'attend à ce que le nom du champ soit itemName avec un « i » minuscule dans la classe CustomListAdapter.
Solutions :
Solution 1 : Renommer le modèle Champs de classe
Mettre à jour la classe CustomListAdapter pour suivre Java Naming Conventions :
public class CustomListAdapter { private String itemName, quantity, serialNo, supplierName, supplierEmail, supplierPhone; }
Solution 2 : Utiliser les annotations
Conservez la classe CustomListAdapter telle quelle et utilisez les annotations @PropertyName devant les getters :
@PropertyName("ItemName") public String getItemName() { return ItemName; }
Supplémentaire Considérations :
Assurez-vous que les données de la base de données Firebase sont correctes et formatées comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!