Hi,
ich rufe in einer Klasse A eine Methode getListViewFilling in Klasse B auf.
Diese Methode holt Datensätze aus einer DB (SQLite) und steckt diese in eine List.
Dafür habe ich eine Klasse C, welche nur aus Gettern und Settern besteht und den Datensatz spiegelt (gemischt int und String).
List liste = new ArrayList;
In Klasse A will ich nun die Datensätze einzeln aus der Liste raus holen und auf der GUI abbilden.
for (int i=0; i < liste.size(); i++){
c = liste.get(i);
}
Leider bekomme ich immer nur den letzten Datensatz aus der Tabelle der DB angezeigt, genau i mal (Anzahl der Datensätze per SQL aus DB geholt).
Hier der echte Code:
Klasse A:
List<ViewFillingDataset> listeFillings = ds.getListViewFilling(this);
ViewFillingDataset viewFillingDataset = null;
for (int i=0; i < listeFillings.size(); i++){
viewFillingDataset = listeFillings.get(i);
Log.e(TAG, i + ". Profil: " + viewFillingDataset.getProfilName());
}
}```
Klasse B:
``` public List<ViewFillingDataset> getListViewFilling(Context context){
ViewFillingDataset viewFillingDataset = new ViewFillingDataset();
List<ViewFillingDataset> listFillings = new ArrayList<ViewFillingDataset>();
sqliteOpenHelper = new MySqliteOpenHelper(context);
if (sqliteOpenHelper != null) {
sqliteDatabase = sqliteOpenHelper.getWritableDatabase();
if ( sqliteDatabase != null ) {
String sql = "SELECT profile, SUM(amount) AS amount, unit_of_measurement, SUM(number) AS number FROM filling GROUP BY profile, unit_of_measurement;";
Cursor viewFillingCursor = sqliteDatabase.rawQuery(sql, null); // TODO
viewFillingCursor.moveToFirst();
for (int i = 0; i < viewFillingCursor.getCount(); i++) {
viewFillingDataset.setProfilName( viewFillingCursor.getString( 0 ));
...
listFillings.add(viewFillingDataset);
Log.d(TAG, i + ". " + viewFillingCursor.getString( 0 ));
viewFillingCursor.moveToNext();
}
viewFillingCursor.close();
}
}
sqliteOpenHelper.close();
return listFillings;
}```
und LogCat (und GUI) zeigt:
> 0. product 1
> 1. product 2
> 2. product 3
> 0. Profil: product 3
> 1. Profil: product 3
> 2. Profil: product 3
**Warum kann ich nicht die Liste auslesen, wie sie erstellt wird,**
also product 1, product 2, product 3** ???**