1

在我如何从适配器类从 sqlite 数据库中检索数据并插入到 listview 中?

我遇到了困难,日夜编码并且不停地谷歌搜索,但是当我打开它们时我只是不明白这些链接。我最近才开始自己学习android编程...

我在下面附上了我的代码

public Cursor RetrieveActivityCursor(String NRIC){
    String where = NRIC;

Cursor cursor = _db.query(DATABASE_TABLE,new String[]{ MOBILE_HOUSE_VISIT_ID, ELDERLY_NAME,
        ELDERLY_NRIC, ELDERLY_DATE_TIME, PHYSICAL_HEALTH_STATUS, MENTAL_HEALTH_STATUS} , where, null, null, null, null);
//Cursor cursor = _db.query(DATABASE_TABLE, new String[] { ELDERLY_NAME,
        //ELDERLY_NRIC, DATE_TIME, PHYSICAL_HEALTH_STATUS, MENTAL_HEALTH_STATUS }, null, null, null, null, null);
return cursor;
}

此代码来自我的适配器类,必须传入 nric 并返回插入到 listview 中的日期时间值

我不太确定如何编写代码来调用此方法。

4

3 回答 3

1

如果您正在扩展 SqliteOpenHelper 以进行数据库处理并使用另一个扩展 Activity 的类,其中您有您的 ListView,那么在您的 Activity 类中使​​您的类的对象像,

 YourDBClass helperDB;
 helperDB = new HelperDB(YourActivityClass.this);

并从数据库中检索数据。

使光标参考像,

 Cursor cursor;

然后,像这样,

 cursor = helperDB.RetrieveActivityCursor(NRIC);
 cursor.moveToFirst();
 while(!cursor.isAfterLast()) {
    // here you have to collect the data in the collection object.
    cursor.moveToNext();
 }
 cursor.close();

就是这样!你已经完成了从数据库中检索数据

于 2012-08-02T09:18:46.753 回答
0

你需要迭代游标,像这样:

Cursor cursor = RetrieveActivityCursor(NRIC);
if (cursor != null && cursor.moveToNext())
do {
    String str = cursor.getString(cursor.getColumnIndex("your_column"));

   // do something, your code

} while (cursor.moveToNext());
于 2012-08-02T08:20:11.167 回答
0

您想在哪里检索日期值,请在此处执行以下操作。

 Cursor cursor = RetrieveActivityCursor(NRIC); 
 if(mCursor.moveToFirst()) {            
     do{ 
         String date_time = cursor.getString(cursor.getColumnIndex(column_name));
     } while(mCursor.moveToNext());
 }
 cursor.close();
于 2012-08-02T09:29:27.203 回答