2

意味をなさないサンプル コードを見つけました。以下に示すコードでは、this.getActivity() メソッドが使用されています。CursorLoader() メソッドのパラメーターでは、最初のパラメーターはコンテキストであり、ここでコンテキストが必要な場所で this.getActivity() が使用されます。明らかにエラーであるのに、なぜこの例で使用されているのですか。

Android のドキュメントには、この例のフラグメント オブジェクトの場合、getActivity() はコンテキスト オブジェクトではなくアクティビティ オブジェクトを返すと記載されています。最初のパラメーターはコンテキストであるため、getActivity() を使用してコンテキストを返さないのに、どのようにコンテキストを返すことができますか?

アンドロイドのドキュメントから

getActivity()

戻り型: 最終アクティビティ

このフラグメントが現在関連付けられている Activity を返します。

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;
}
4

1 に答える 1

5

アクティビティはコンテキストを継承するため、コンテキストとして使用できます

http://developer.android.com/reference/android/app/Activity.html

于 2013-05-14T01:54:42.463 に答える