Я пытаюсь получить данные из базы данных на Sqlite. сначала вставьте строки и вставьте их в String [], затем вставьте String [] в arraylist и, наконец, верните arraylist, чтобы использовать его в другом классе.Arraylist of String Arrays issue
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;
}
И мой журнал кот это:
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
проблема здесь заключается в том, что после окончания цикла в то время как объекты будней установить их значение, как если бы они все было бы тем же самым, и вы можете видеть, что в последних журналах я показываю
Я действительно понятия не имею, почему это происходит, и я уже попытался изменить время цикла для петли для
Просто имейте в виду, чтобы закрыть курсор! –