我发现一些没有意义的示例代码,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;
}