LoaderManager.initLoader()未在Activity中定义

时间:2016-07-26 08:49:27

标签: android android-activity android-cursorloader

我正在学习如何使用CursorLoader,我正在学习一个教程。在教程中,它说,只要我使用的是活动而不是片段,我就可以按如下方式初始化CursorLoader:

 LoaderManager.initLoader(1, null, this)

但是,尽管我的主要类扩展了AppCompatActivity,但我无法使用

LoaderManager.initLoader()

并以红色突出显示,错误显示“非静态方法无法从静态上下文引用”

以下是使用的导入列表:

import android.database.Cursor;
import android.support.v4.app.LoaderManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

如何解决这个问题

1 个答案:

答案 0 :(得分:1)

LoaderManager.initLoader()

因为initLoaderLoaderManager的实例方法,而不是静态方法,这意味着你需要一个LoaderManager的实例,你可以调用它。要检索它,您可以使用getSupportLoaderManager或getLoaderManager,具体取决于您是否需要支持库中的版本。变化

LoaderManager.initLoader(1, null, this)

getSupportLoaderManager().initLoader(1, null, this)