我在檢查代碼時發現我並不知道一個CursorLoader和LoaderManage組合起來如何與CursorAdapter連接。這就是我疑惑的部分:
agendaAdapter = new MyAgendaAdapter(this, null);
makeProviderBundle(new String[] {"_id", "event_name", "start_date", "start_time",
"end_date", "end_time", "location"}, "date(?) >= start_date and date(?) <= end_date",
new String[]{getChosenDate(), getChosenDate()}, null);
getLoaderManager().initLoader(0, myBundle, MainDisplayActivity.this);
list.setAdapter(agendaAdapter);
我找不到連接,如何傳遞自定義的ContentProvider中的query()方法到指定的CursorAdapter?
1.首先,創建CursorAdapter
mAdapter = new SimpleCursorAdapter(
getActivity(),
android.R.layout.simple_list_item_2,
null,
new String[] { Contacts.DISPLAY_NAME, Contacts.CONTACT_STATUS },
new int[] { android.R.id.text1, android.R.id.text2 },
0);
2.然後,初始化loader。
getLoaderManager().initLoader(0, null, this);
3.LoaderManager調用onCreateLoader(int id, Bundle args).
4.查詢光標傳遞到adapter。
5.查詢數據與CursorAdapter連接起來。