2
我發現了一些沒有意義的示例代碼,在下面顯示的代碼中使用this.getActivity()方法。在CursorLoader()方法的參數中,第一個參數是上下文,而this.getActivity()用於需要上下文的地方。爲什麼在這個例子中它顯然是一個錯誤。如何使用getActivity()來返回片段類中的上下文?
android文檔指出,對於示例中的片段對象,getActivity()應該返回活動對象,而不是上下文對象。因爲第一個參數是一個上下文,那麼如何在不這樣做時使用getActivity()返回上下文?
從Android文檔
getActivity()
返回類型:最終活性
返回該片段當前與相關聯的活動。
http://developer.android.com/reference/android/app/Fragment.html
示例代碼
public class YourFragment extends Fragment
implements LoaderCallbacks<Cursor> {
// more code......
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
CursorLoader loader = new CursorLoader(
this.getActivity(), // <--- context is needed here
SOME_CONTENT_URI,
projection,
selection,
selectionArgs,
sortOrder);
return loader;
}