【发布时间】:2014-12-03 13:40:12
【问题描述】:
我如何在asyncTask 中使用Cursor 在listView 中显示,因为我的获取数据很大(元数据),我应该从asyncTask 中使用。我需要一个链接以供教程使用Cursor 在asyncTask.
我有下面的代码。
我的Struct_Search.class:
public class Struct_Search {
public int MetaData;
public String Value;
public String Name;
public int Number;
}
在我的MainActivity.class:
try {
cursor = sql.rawQuery(
"SELECT MetaDataID,Data,CategoryID,ParentID FROM BOOK WHERE DATA LIKE '"
+ "%" + editable + "%'", null);
array = new ArrayList<String>();
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
Struct_Search note = new Struct_Search();
note.MetaData = cursor.getInt(cursor.getColumnIndex("MetaDataID"));
note.Value = cursor.getString(cursor.getColumnIndex("DATA"));
note.Number = cursor.getInt(cursor.getColumnIndex("CategoryID"));
ParentID = cursor.getInt(cursor.getColumnIndex("ParentID"));
CursorSecond = sql.rawQuery("SELECT name FROM ContentList WHERE id ="+ ParentID, null);
if (CursorSecond != null) {
do {
CursorSecond.moveToFirst();
note.NameSureh = CursorSecond.getString(CursorSecond.getColumnIndex("name"));
CursorSecond.close();
} while (CursorSecond.moveToNext());
}
notes.add(note);
} while (cursor.moveToNext());
}
adapter.notifyDataSetChanged();
}
} catch (Exception e) {
} finally {
cursor.close();
}
【问题讨论】:
-
解释一下你所说的“巨大”是什么意思。
-
什么意思?只需在任务中执行查询即可。
-
给我链接在 asyncTask 中使用光标。
标签: java android android-listview android-asynctask android-cursor