SimpleCursorAdapter() 是 SimpleCursorAdapter 類的建構函式。
描述:
SimpleCurosrAdapter 是一個將 Cursor 中的 columns 與在 XML 檔案中定義的 TextViews 或 ImageViews 進行匹配的簡易 adapter。你可以指定選擇 Cursor 中的哪些 columns、用哪些 views 來顯示這些 columns 、以及指定定義這些 views 的 xml 檔案。
也就是說,SimpleCursorAdapter 允許綁定一個 Cursor 的 columns 到 ListView 上,並使用自訂的 layout 顯示 List中的每個項目。
可以使用 SimpleCursorAdapter 作為中間橋樑,將從 sqlite 資料庫中查詢出來的資料直接顯示到 ListView 中。
原型:
public SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
super(context, layout, c);
mTo = to;
mOriginalFrom = from;
findColumns(from);
}
參數:
Context context, 這個與 SimpleListItemFactory 相關的 ListView 所處運行上下文(context)。也就是這個 ListView 所在的 Activity。
int layout, 顯示 list item 的 布局檔案。這個 layout 檔案中至少要包含在 "to" 參數中命名的 views。
Cursor c, 資料庫的游標( Cursor )。如果 cursor 無效,則該參數可以為 null
String[] from, 指定 column 中的哪些列的資料將綁定(顯示)到 UI 中。如果 cursor 無效, 則該參數可為 null。
int[] to, 指定用於顯示 "from" 參數指定的資料列表的 views。 這些 views 必須都是 TextViews。 "from" 參數的前 N 個值(valus)和 "to" 參數的前 N 個 views 是一一對應的關係。如果 cursor 無效,則該參數可為 null。
樣本:
Uri uri = Contacts.People.CONTENT_URI;
String[] projection = { Contacts.PeopleColumns.NAME,
Contacts.PeopleColumns.NOTES };
String selection = Contacts.PeopleColumns.NAME + "=?";
String[] selectionArgs = { "Braincol","Nixn.dev" };
String sortOrder = Contacts.PeopleColumns.NAME;
//使用 managedQuery 擷取 Contacts.People 這個 ContentProvider 的 Cursor。
Cursor cursor = managedQuery(uri, projection, selection, selectionArgs,sortOrder);
//使用 SimpleCursorAdapter 建立 Cursor 的 Adapter 以便使用,資料表示形式為:NAME - NOTES
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_list_item,
cursor, new String[] { ContactColumn.NAME,ContactColumn.NOTES },
new int[] { R.id.name, R.id.notes });
//為當前ListView關聯Adapter