2016-07-26 30 views
-1

我正在学习如何使用CursorLoader,并且正在参考教程。在本教程中,它说,只要我使用的是活动不是一个片段如下我可以初始化CursorLoader:LoaderManager.initLoader()未在Activity中定义

LoaderManager.initLoader(1, null, this) 

但是,尽管我的主类extendes 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
LoaderManager.initLoader() 

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

LoaderManager.initLoader(1, null, this) 

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