2011-08-28 62 views
0

我有兩個.java文件:Read.javaSave.java。當我嘗試啓動我的應用程序時,我得到一個NullPointerException。 logcat的條目指兩個java.lang.NullPointerException與光標

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) 
+0

發佈堆棧跟蹤 – Jack

+0

正如Jack所說,發佈堆棧跟蹤。有一些代碼丟失了,所以很難說,但是在調用getAbsolutePath()之前,你實例化了什麼是「目的地」? – hooked82

+0

@ hooked82目標是一個File實例。 –

回答

0

問題解決了。感謝所有的幫助。不知何故,從

cont(String destination)SaveEnd類返回null稱爲getContentResolver()。我使用了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); 
}