如何使用getActivity()来返回片段类中的上下文?

时间:2013-05-14 01:51:27

标签: android cursor loader

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

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

1 个答案:

答案 0 :(得分:5)

活动继承了上下文,因此它可以用作上下文

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