我有一個ListFragment類作爲我的活動的子類,在我的PreferenceActivity
我有一個設置可以改變5個可能列表視圖中的2個的排序,但是當我返回到列表視圖onCreateLoader
的活動不會再次被調用,因此列表保持不變。使用LoaderManager刷新ListFragment
如何在更改設置值後更新列表?
的例子我onCreateLoader
if(pref.getString(Preferences.CAL_SORT, "1").equals("1")){
return new CursorLoader(getActivity(),CalendarEvents.EVENTS_URI,
new String[] {CalendarEvents.EVENT_ID,CalendarEvents.EVENT_READ,CalendarEvents.EVENT_SUBJECT,
CalendarEvents.EVENT_COMPANY_NAME,CalendarEvents.EVENT_START}
,null,null,CalendarEvents.EVENT_COMPANY_NAME+" COLLATE LOCALIZED ASC," /*+ julianday("*/+CalendarEvents.EVENT_START/* + ")"*/ + " COLLATE LOCALIZED DESC");
}else{
return new CursorLoader(getActivity(),CalendarEvents.EVENTS_URI,
new String[] {CalendarEvents.EVENT_ID,CalendarEvents.EVENT_READ,CalendarEvents.EVENT_SUBJECT,
CalendarEvents.EVENT_COMPANY_NAME,CalendarEvents.EVENT_START}
,null,null,CalendarEvents.EVENT_COMPANY_NAME+" COLLATE LOCALIZED ASC," /*+ julianday("*/+CalendarEvents.EVENT_START/* + ")"*/ + " COLLATE LOCALIZED ASC");
}
我知道我可以調用適配器上notifyDatasetChange()
但適配器不是外活動可見。我應該做的事情在我的ContentProvider
這是我的課是如何構成的
public class MainActivity extends FragmentActivity {
public static class ListViews extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor>{
public Loader<Cursor> onCreateLoader(int arg0,Bundle arg1){
}
}
public void onResume(){
}
}
ok我有點困惑,我應該使用這個,我想我的onresume活動我可以刷新從PreferenceActivity返回列表,但getLoaderManager'不可見我的外MainActivity '。這個例子只顯示了使用類內部的加載器 – tyczj 2012-08-14 20:43:29
'片段'還有'onResume()'方法。請參閱http://developer.android.com/reference/android/app/Fragment.html#onResume%28%29。覆蓋它並在那裏調用它。 – biegleux 2012-08-14 20:47:39
啊啊得到它謝謝! – tyczj 2012-08-14 20:51:48