Android 带有游标的java.lang.NullPointerException
我有两个.java文件:Android 带有游标的java.lang.NullPointerException,android,cursor,nullpointerexception,Android,Cursor,Nullpointerexception,我有两个.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
和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);
...
}
}
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());
}
--Save.java
public class ReadCon(String destination) {
`...`
public void Cont(String destination) {
ContentResolver cr = getContentResolver();
Cursor cu = cr.query(URI, null, null, null, null);
...
}
}
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)
问题解决了。谢谢大家的帮助。不知怎的,getContentResolver()
从
cont(字符串目标)
在savend
类中返回null
。我使用了一个上下文
实例来设置它。这是我的最终代码
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);
}
正如Jack所说,发布堆栈跟踪。缺少一些代码,所以很难说,但是什么是“目的地”,在调用getAbsolutePath()之前您是否实例化了它?@hooked82 destination是一个文件实例。我还放置了堆栈跟踪。