2013-05-14 90 views
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; 
} 

回答