2

我发现一些没有意义的示例代码,this.getActivity() 方法在下面显示的代码中使用。在CursorLoader()方法的参数中,第一个参数是context,这里需要context的地方使用this.getActivity()。为什么在这个例子中使用它显然是一个错误。

android 文档指出,对于示例中的片段对象,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

Activity 继承上下文,因此它可以用作上下文

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

于 2013-05-14T01:54:42.463 回答