Firebase liste de ma base de donnée
Bonjour , j'ai effectué une base de données avec firebase mais j'ai un petit soucis qui est que je n'arrive pas a afficher le contenue de ma bdd dans une listView :
voici ma page ou j'affiche la liste
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| public class ListeStock extends AppCompatActivity {
TextView txtListStock;
Button btnAcc;
Intent IntAcc;
ListView listViewProduit;
List<Produit> lesP;
DatabaseReference bdd_Produit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_produit);
bdd_Produit = FirebaseDatabase.getInstance().getReference("produit");
txtListStock = (TextView) findViewById(R.id.txtListeStock);
btnAcc = (Button) findViewById(R.id.btnAccLi);
listViewProduit = (ListView) findViewById(R.id.listViewNomP);
lesP = new ArrayList<>();
IntAcc = new Intent(this,pp.class);
txtListStock.setText("Liste Stock : ");
btnAcc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(IntAcc);
}
});
}
@Override
protected void onStart() {
super.onStart();
bdd_Produit.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
lesP.clear();
for(DataSnapshot produitSnapshot : dataSnapshot.getChildren()){
Produit produit = produitSnapshot.getValue(Produit.class);
lesP.add(produit);
}
ListProduit adapteur = new ListProduit(ListeStock.this,lesP);
listViewProduit.setAdapter(adapteur);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
} |
et voici la classe listProduit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public class ListProduit extends ArrayAdapter<Produit>{
private Activity context;
private List<Produit> lesP ;
public ListProduit(Activity context ,List<Produit> lesP){
super(context,R.layout.activity_liste_stock, lesP);
this.context = context;
this.lesP = lesP;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View listViewItem = inflater.inflate(R.layout.activity_liste_stock, null, true);
TextView txtLiPNom = (TextView) listViewItem.findViewById(R.id.txtliP1);
Produit unP = lesP.get(position);
txtLiPNom.setText(unP.getNomP());
return listViewItem;
}
} |
Si vous savez des idées je suis preneur ! Merci d'avance !