I'm trying to get the data from a database on Sqlite. first the rows and insert them into a String [], then insert the String[]'s into an arraylist, and finally return the arraylist to use it in other class.
public ArrayList<String[]> getWeekUni() {
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = { MenuDataBase.SOPA, MenuDataBase.FONDO1,
MenuDataBase.REFRESCO, MenuDataBase.CALORIAS, };
ArrayList<String[]> weekdays = new ArrayList<String[]>();
String[] rowDay = new String[4];
Cursor cursor = db.query(MenuDataBase.TABLE_UNI, columns, null, null,
null, null, null);
while (cursor.moveToNext()) {
cursor.moveToNext();
int index1 = cursor.getColumnIndex(MenuDataBase.SOPA);
int index2 = cursor.getColumnIndex(MenuDataBase.FONDO1);
int index3 = cursor.getColumnIndex(MenuDataBase.REFRESCO);
int index4 = cursor.getColumnIndex(MenuDataBase.CALORIAS);
rowDay[0] = cursor.getString(index1);
rowDay[1] = cursor.getString(index2);
rowDay[2] = cursor.getString(index3);
rowDay[3] = cursor.getString(index4);
Log.d("TEST", rowDay[0]+" Get week");
Log.d("TEST", rowDay[1]+" Get week");
int i = 0;
weekdays.add(rowDay);
Log.d("TEST",Integer.toString(weekdays.size()));
Log.d("TEST", weekdays.get(i)[0].toString());
Log.d("TEST", weekdays.get(i)[1].toString());
i++;
}
Log.d("TEST", weekdays.get(0)[0].toString()+" weekdays");
Log.d("TEST", weekdays.get(0)[1].toString()+" weekdays");
Log.d("TEST", weekdays.get(3)[0].toString()+" weekdays");
Log.d("TEST", weekdays.get(3)[1].toString()+" weekdays");
db.close();
return weekdays;
}
And my log cat is this:
06-28 10:54:44.160: D/TEST(13577): Semola Get week
06-28 10:54:44.160: D/TEST(13577): Garbanzos a la Americana Get week
06-28 10:54:44.160: D/TEST(13577): 1
06-28 10:54:44.160: D/TEST(13577): Semola
06-28 10:54:44.160: D/TEST(13577): Garbanzos a la Americana
06-28 10:54:44.160: D/TEST(13577): Juliana Get week
06-28 10:54:44.160: D/TEST(13577): Aeropuerto Get week
06-28 10:54:44.160: D/TEST(13577): 2
06-28 10:54:44.160: D/TEST(13577): Juliana
06-28 10:54:44.160: D/TEST(13577): Aeropuerto
06-28 10:54:44.160: D/TEST(13577): Chupe de Carne Get week
06-28 10:54:44.160: D/TEST(13577): Ajiaco con Hamburguesa de Casa Get week
06-28 10:54:44.160: D/TEST(13577): 3
06-28 10:54:44.160: D/TEST(13577): Chupe de Carne
06-28 10:54:44.160: D/TEST(13577): Ajiaco con Hamburguesa de Casa
06-28 10:54:44.160: D/TEST(13577): Moron Get week
06-28 10:54:44.160: D/TEST(13577): Trigo Guizado con Pollito al Horno Get week
06-28 10:54:44.160: D/TEST(13577): 4
06-28 10:54:44.160: D/TEST(13577): Moron
06-28 10:54:44.160: D/TEST(13577): Trigo Guizado con Pollito al Horno
06-28 10:54:44.160: D/TEST(13577): Crema de Verduras Get week
06-28 10:54:44.160: D/TEST(13577): Picante de Carne Get week
06-28 10:54:44.160: D/TEST(13577): 5
06-28 10:54:44.160: D/TEST(13577): Crema de Verduras
06-28 10:54:44.160: D/TEST(13577): Picante de Carne
06-28 10:54:44.160: D/TEST(13577): Crema de Verduras
06-28 10:54:44.160: D/TEST(13577): Picante de Carne weekdays
06-28 10:54:44.160: D/TEST(13577): Crema de Verduras weekdays
06-28 10:54:44.160: D/TEST(13577): Picante de Carne weekdays
06-28 10:54:44.170: D/TEST(13577): Crema de Verduras weekdays
the problem here is that after the while loop ends the weekdays objects set their values as if they would all be the same and you can see that in the last logs I'm showing
I really have no idea why this is happening and I already tried changing the while loop for a for loop