如何从适配器类中检索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的datetime值
我不太确定如何编码来调用此方法。
答案 0 :(得分: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();
就是这样!您已经完成了从数据库中恢复数据
答案 1 :(得分: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());
答案 2 :(得分:0)
您想要检索日期值的位置,请执行以下操作。
Cursor cursor = RetrieveActivityCursor(NRIC);
if(mCursor.moveToFirst()) {
do{
String date_time = cursor.getString(cursor.getColumnIndex(column_name));
} while(mCursor.moveToNext());
}
cursor.close();