我发现了一些没有意义的示例代码,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;
}
答案 0 :(得分:5)
活动继承了上下文,因此它可以用作上下文
http://developer.android.com/reference/android/app/Activity.html