2016-07-26 31 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)