Я изо всех сил пытаюсь использовать массив внутри цикла while. Проблема в том, что я очень новичок в разработке Android, поэтому я понятия не имею, как это сделать. Я видел похожие вопросы, но большинство/все они не подходят для моего сценария. Код ниже работает, но im вызывает новый экземпляр articlesData для каждой строки в инструкции while, это заставляет его просто вернуть значение последней строки. Можно ли использовать такой массив, как ArticlesData [], и получить все мои данные в нем? Пожалуйста, помогите :) Вот мой код:Как инициализировать массив внутри цикла
public ArticlesData[] getArticleData(int no) {
Log.e("DB STAT", "getArticleData Called");
SQLiteDatabase db = helper.getWritableDatabase();
String[] columns = { ArticlesHelper.ID, ArticlesHelper.TITLE, ArticlesHelper.IMAGEURL };
Cursor cursor = db.query(ArticlesHelper.TABLE_NAME,
columns,
ArticlesHelper.DATENUMBER+" < '"+Integer.toString(no)+"'", null, null, null, ArticlesHelper.DATENUMBER+" DESC", "20");
while (cursor.moveToNext()) {
int id = cursor.getInt(0);
Log.e("DB STAT", "Article Id = "+Integer.toString(id));
String title = cursor.getString(1);
Log.e("DB STAT", "Article Title = "+title);
String url = cursor.getString(2);
articlesData = new ArticlesData[] {
new ArticlesData(title, Integer.toString(id), url)
};
}
return articlesData;
}
Спасибо за ответ и рекомендацию! Я попробую изменить свой код для поддержки Список: D – edwinj
Нет проблем! Вы все равно можете преобразовать массив 'List' в массив с методом' toArray() 'или' toArray (T []) ', но, как я уже сказал, вам, вероятно, будет лучше со списком :) – jeremija
Просто закончил меня код, и он отлично работает! – edwinj