Попробуйте это
Cursor c = myDbHelper.getLvl1Cata();
String[] data;
if (c != null) {
while(c.moveToNext()) {
data = new String[3]; // Note this addition
data[0] = Integer.toString(c.getInt(0));
data[1] = c.getString(1);
data[2] = Integer.toString(c.getInt(2));
Log.e("cc", data[1]);
catalogueData.add(data);
}
c.close();
}
data
- это массив строк. В исходном коде вы несколько раз добавляли один и тот же массив в структуру catalogueData
. Вы каждый раз меняли значение содержимого массива, но это был все тот же объект массива. Таким образом, вы получили catalogueData
с несколькими ссылками на один массив, и этот массив может иметь только одно значение для data[0]
: последнее, что вы установили.
Этот ответ исправляет это, используя новый и другой массив для каждой строки в курсоре.