2016-07-26 16 views
-1

Ich lerne, wie CursorLoader zu verwenden, und ich folgte einem Tutorial. im Tutorial, heißt es, dass, solange ich eine Aktivität nicht ein Fragment verwende ich die CursorLoader initialisieren kann wie folgt:LoaderManager.initLoader() ist nicht in der Aktivität definiert

LoaderManager.initLoader(1, null, this) 

aber trotz meiner Hauptklasse Längerer AppCompatActivity, kippe ich

LoaderManager.initLoader() 
verwenden

und es wird mit den roten und den Fehler hervorgehoben sagt „nicht-statische Methode kann nicht von einem statischen Kontext referenziert werden“

und hier ist eine Liste der Importe verwendet:

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

, wie dieses Problem

Antwort

1
LoaderManager.initLoader() 

weil initLoader ist eine Instanzmethode von LoaderManager, kein statisches Verfahren, dh Sie können eine Instanz des LoaderManager auf, dass lösen müssen Sie es nennen kann. Um es zu erhalten, können Sie getSupportLoaderManager oder getLoaderManager verwenden abhängig davon, ob Sie die Version von der Support-Bibliothek wollen oder nicht. Ändern

LoaderManager.initLoader(1, null, this) 

mit

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