我有一个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