Проблема с массивом, созданным с помощью результатов зацикленного запроса - PullRequest
0 голосов
/ 14 марта 2012

Я искал / делал разные варианты этого кода ниже:

public String[] getData() {

String[] columns = new String[]{ app_name, app_location, app_dateTime};
Cursor c = myDatabase.query(app_table, columns, null, null, null, null, null);

int iName = c.getColumnIndex(app_name);
int iLoc = c.getColumnIndex(app_location);
int iDate = c.getColumnIndex(app_dateTime);


String[] appointments = new String[c.getColumnCount()];
int j = 0;
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
    appointments[j] = " Appointment Name: " + c.getString(iName) + " \n Location: " + c.getString(iLoc) + " \n Date: " + c.getString(iDate) + " \n\n ";
     j++;
    }
return appointments;

    }
}

в основном цель этого кода заключается в том, чтобы результаты моего запроса передавались в массив и затем вызывались в ListView вдругой класс через раздел «возврат встреч» кода.По какой-то причине мой код, кажется, не работает, и я не могу понять, как я это делаю. Я пробовал циклы в циклах. Я пытался затянуть код, а затем рассказать о том, что я могу получить, но ничего из этого не дает.мне решение.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Я думаю, что вместо

String[] appointments = new String[c.getColumnCount()];

вам нужно использовать

String[] appointments = new String[c.getCount()];

getColumnCount() возвращает количество столбцов (которое постоянно равно 3-name, location, dateTime-), и вам нужно количество строк там.

0 голосов
/ 14 марта 2012

Я прошу прощения и благодарю людей, которые представили ответы, я выяснил, в чем проблема, это было в другом моем классе Java. Перечисленный выше цикл полностью функционален, поэтому, если кому-то понадобится найти фрагмент кода, который будет выполнять то, что было сказано выше, то не смотрите дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...