在本机Android日历上添加事件会导致NullPointerException
我尝试过使用这段代码(正如我在教程中看到的) 在android中的集成日历上添加事件 但正如我写的,我在这行中得到了一个NullPointerException错误在本机Android日历上添加事件会导致NullPointerException,android,date,calendar,Android,Date,Calendar,我尝试过使用这段代码(正如我在教程中看到的) 在android中的集成日历上添加事件 但正如我写的,我在这行中得到了一个NullPointerException错误 startActivity(intent); 用这个堆栈 07-17 19:12:05.469: W/System.err(30939): java.lang.NullPointerException 07-17 19:12:05.469: W/System.err(30939): at android.app.Activi
startActivity(intent);
用这个堆栈
07-17 19:12:05.469: W/System.err(30939): java.lang.NullPointerException
07-17 19:12:05.469: W/System.err(30939): at android.app.Activity.startActivityForResult(Activity.java:2827)
07-17 19:12:05.469: W/System.err(30939): at android.app.Activity.startActivity(Activity.java:2933)
07-17 19:12:05.469: W/System.err(30939): at myapplication.beachparty.utility.MyUtility.addEventToCalendar(MyUtility.java:44)
07-17 19:12:05.469: W/System.err(30939): at myapplication.beachparty.it.PartyDetails$2.onClick(PartyDetails.java:114)
07-17 19:12:05.469: W/System.err(30939): at android.view.View.performClick(View.java:2485)
07-17 19:12:05.479: W/System.err(30939): at android.view.View$PerformClick.run(View.java:9080)
07-17 19:12:05.479: W/System.err(30939): at android.os.Handler.handleCallback(Handler.java:587)
07-17 19:12:05.499: W/System.err(30939): at android.os.Handler.dispatchMessage(Handler.java:92)
07-17 19:12:05.499: W/System.err(30939): at android.os.Looper.loop(Looper.java:130)
07-17 19:12:05.499: W/System.err(30939): at android.app.ActivityThread.main(ActivityThread.java:3687)
07-17 19:12:05.499: W/System.err(30939): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 19:12:05.499: W/System.err(30939): at java.lang.reflect.Method.invoke(Method.java:507)
07-17 19:12:05.499: W/System.err(30939): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
07-17 19:12:05.499: W/System.err(30939): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
07-17 19:12:05.499: W/System.err(30939): at dalvik.system.NativeStart.main(Native Method)
07-17 19:12:07.069: W/System.err(30939): java.lang.NullPointerException
07-17 19:12:07.069: W/System.err(30939): at android.app.Activity.startActivityForResult(Activity.java:2827)
07-17 19:12:07.069: W/System.err(30939): at android.app.Activity.startActivity(Activity.java:2933)
07-17 19:12:07.069: W/System.err(30939): at myapplication.beachparty.utility.MyUtility.addEventToCalendar(MyUtility.java:44)
07-17 19:12:07.069: W/System.err(30939): at myapplication.beachparty.it.PartyDetails$3.onClick(PartyDetails.java:128)
07-17 19:12:07.069: W/System.err(30939): at android.view.View.performClick(View.java:2485)
07-17 19:12:07.069: W/System.err(30939): at android.view.View$PerformClick.run(View.java:9080)
07-17 19:12:07.069: W/System.err(30939): at android.os.Handler.handleCallback(Handler.java:587)
07-17 19:12:07.069: W/System.err(30939): at android.os.Handler.dispatchMessage(Handler.java:92)
07-17 19:12:07.069: W/System.err(30939): at android.os.Looper.loop(Looper.java:130)
07-17 19:12:07.069: W/System.err(30939): at android.app.ActivityThread.main(ActivityThread.java:3687)
07-17 19:12:07.069: W/System.err(30939): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 19:12:07.069: W/System.err(30939): at java.lang.reflect.Method.invoke(Method.java:507)
07-17 19:12:07.069: W/System.err(30939): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
07-17 19:12:07.079: W/System.err(30939): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
07-17 19:12:07.079: W/System.err(30939): at dalvik.system.NativeStart.main(Native Method)
dateStart
广告
dateEnd
是
Date
表示事件日期、日期、年份和时间的对象
我也试着改变这些行
intent.putExtra("beginTime", cal.getTimeInMillis());
及
怎么了
铌
我已经在Emulator和Samsung Galaxy上试用了该代码。并使用API级别10(姜饼)检查dateStart和dateEnd对象。它们可能是空的。我建议在将它们添加到intent的行中放置一个断点,并检查这些变量是否为null。您不能从另一个类简单地调用该方法来启动此活动 线路
startActivity(intent);
由于没有上下文,导致NullPointerException
您应该在方法中传递上下文
,然后编写
mycontext.startActivity(intent);
这样应该可以工作。我猜
cal
为空。堆栈中应该有比您显示的更多的内容。另外,您能展示一下cal
是如何创建的吗?我只使用了“Calendar-cal=Calendar.getInstance();”但是我不知道我必须如何使用cal对象,只要cal
没有初始化,它就可以工作。Stacktrace不完整,我们也没有要关联的源行号。类似的代码适用于methe堆栈未满的情况。请提供完整的堆栈跟踪。您的应用程序是启动日历应用程序还是以前崩溃?以前崩溃但未打开日历。。。在我发布的堆栈中,我只省略了一行,该行指示类的方法由我的操作侦听器调用,用于在日历上添加不重要的事件。我还尝试使用“intent.putExtra”(“beginTime”,cal.getTimeInMillis());”更改这些行和'intent.putExtra(“endTime”,cal.getTimeInMillis()+60*60*1000);'如果我能看到您正在使用此代码段的所有代码,我可能会提供更多帮助。此代码仅存在于另一个类中的操作侦听器调用的方法中,我只需执行“MyUtility cm=new MyUtility();”cm.addeventocalendar();'并获取“startActivity(intent);”中的错误cm.addeventocalendar()的行;我可以看到完整的堆栈跟踪,包括nullpointerexception吗?
startActivity(intent);
mycontext.startActivity(intent);