java.lang.NullPointerException с курсором - PullRequest
0 голосов
/ 28 августа 2011

У меня есть два файла .java: Read.java и Save.java.И я получаю NullPointerException, когда пытаюсь запустить свое приложение.Записи Logcat ссылаются как

Cursor cu = cr.query(URI, null, null, null, null);, так и

rc.Cont(destination.getAbsolutePath()); как на причину исключения NullPointerException.

Но я уже пробовал Read.java отдельно, и он работаетхорошо, как я, кроме как.Я думаю, это вызов из другого класса, который создает проблемы.Спасибо за помощь.

- Read.java

public class ReadCon(String destination) {

`...`

     public void Cont(String destination) {

           ContentResolver cr = getContentResolver();

           Cursor cu = cr.query(URI, null, null, null, null);

           ...

     }

}

- Save.java

public class SaveEnd extends Activity {

    File destination;

    Fonctions f = new Fonctions();

    //creerDossier return type is File

    destination = f.creerDossier(2, Save.pathsList[i]);

ReadCon rc = new ReadCon();

rc.Cont(destination.getAbsolutePath()); 

}

Это трассировка стека:

java.lang.NullPointerException

at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:91)
at projet.sarelo.ReadContacts.SaveContacts(Read.java:134)
at projet.sarelo.SaveEnd.onStart(Save.java:75)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1132)
at android.app.Activity.performStart(Activity.java:4320)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
at android.app.ActivityThread.access$1500(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:126)
at android.app.ActivityThread.main(ActivityThread.java:3997)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)

1 Ответ

0 голосов
/ 29 августа 2011

Проблема решена. Спасибо всем за помощь. Каким-то образом getContentResolver() вызывается с

cont(String destination) возвращался null в SaveEnd классе. Я использовал Context экземпляр, чтобы установить его правильно. Это мой окончательный код

public class ReadCon {
    public void Cont(File destination, Context c) {
       ContentResolver cr = c.getContentResolver();
       Cursor cu = cr.query(URI, null, null, null, null);
    }
}


public class SaveEnd extends Activity {
    Context c = this;
    ReadCon rc = new ReadCon();
    rc.Cont(destination, c); 
}
...