旧问题:“为什么创建Toast会导致我的应用程序崩溃?”
如果我不使用Toast,我的应用程序可以正常运行,但是如果我想创建并显示一个简单的Toast,就像这样:
Toast SimpleToast = Toast.makeText(getApplicationContext(), "Just a toast.",Toast.LENGTH_LONG);
SimpleToast.setGravity(Gravity.TOP, 0, 0);
SimpleToast.show();
我在日志中看到以下内容,然后应用程序崩溃:
NotificationService enqueueToast pkg=games.MyAppName callback=android.app.ITransientNotification$Stub$Proxy@49603368 duration=1
ResourceType No package identifier when getting name for resource number 0x00000000
AndroidRuntime Shutting down VM
dalvikvm threadid=3: thread exiting with uncaught exception (group=0x4001b188)
AndroidRuntime Uncaught handler: thread main exiting due to uncaught exception
AndroidRuntime java.lang.NullPointerException
我已经检查了上面的代码,它是导致崩溃的原因。 目前我在模拟器上运行,因为我没有安卓手机。
OnClickListener
已经可以访问你的Activity
-- 如果你的Activity
名称为Foo
,尝试使用Foo.this
作为你的Context
。千万不要在涉及 UI 的任何操作中使用getApplicationContext()
。 - CommonsWare