【发布时间】:2017-12-23 19:41:26
【问题描述】:
我正在使用 add() 将数据附加到我的 ArrayList,但我相信我的光标的逻辑是使我试图附加的数据实际上通过并替换我的所有 Arraylist 数据。
这是我的 DBHandler.java 中的方法
public ArrayList databaseToStringDate(){
String dateString = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
ArrayList<String> dateList = new ArrayList<>();
SQLiteDatabase db = getWritableDatabase();
String query = "SELECT * FROM " + KICK_TABLE + " WHERE 1";
//Cursor points to a location in your results
Cursor c = db.rawQuery(query, null);
//Move to the first row in your results
c.moveToFirst();
//Position after the last row means the end of the results
while (!c.isAfterLast()) {
if (c.getString(c.getColumnIndex("productname")) != null) {
dateList.add(dateString);
// dateString += "\n";
}
c.moveToNext();
}
db.close();
return dateList;
}
这是我的片段类中的代码,它显示了工作正常的 textView
ArrayList dbDate = dbHandler.databaseToStringDate();
String dbDateString = dbDate.toString();
date.setText( dbDateString);
【问题讨论】:
-
你能再具体一点吗?你的 ArrayList 包含什么?你认为它应该包含什么?
-
我想显示用户执行某项任务的日期,但所有内容的日期都是最后一个日期。例如,我在 TextView 中有“2017-07-18”,如果用户确实说动作 tommarow,我想要“2017-07-18, 2017-07-19”。但我得到的是“2017-07-19, 2017-07-19”。
-
您的表格是否有一列包含日期值?
标签: java android sqlite arraylist cursor