我正在学习如何使用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;
如何解决这个问题
答案 0 :(得分:1)
LoaderManager.initLoader()
因为initLoader
是LoaderManager
的实例方法,而不是静态方法,这意味着你需要一个LoaderManager
的实例,你可以调用它。要检索它,您可以使用getSupportLoaderManager
或getLoaderManager,具体取决于您是否需要支持库中的版本。变化
LoaderManager.initLoader(1, null, this)
与
getSupportLoaderManager().initLoader(1, null, this)