2011-08-28 42 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); 
}