【发布时间】:2015-11-25 00:04:47
【问题描述】:
我一直在努力尝试在 while 循环中使用数组。问题是我对android开发很陌生,所以我不知道该怎么做。我见过类似的问题,但大多数/全部都不适合我的场景。下面的代码确实有效,但是我为 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;
}
【问题讨论】: