【发布时间】:2016-03-04 19:29:04
【问题描述】:
Intent i = new Intent(getActivity(), MytabActivity.class);
startActivity(i);
我的DialogFragment 在调用活动中单击按钮时打开。我做了它所要求的并且能够运行代码的所有部分,除了在服务器成功响应后打开另一个活动(我正在使用 volley)。值确实发生了变化,但它在这部分崩溃了。
有什么想法吗?
这里是代码的截图。
日志猫:
03-05 03:30:11.570 16952-16952/com.example.carlajoyce.ccare E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.carlajoyce.ccare, PID: 16952
java.lang.NullPointerException
at android.widget.Toast.<init>(Toast.java:93)
at android.widget.Toast.makeText(Toast.java:241)
at com.example.carlajoyce.ccare.UpdateDialogFragment$2$1.onResponse(UpdateDialogFragment.java:73)
at com.example.carlajoyce.ccare.UpdateDialogFragment$2$1.onResponse(UpdateDialogFragment.java:64)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60)
at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:617)
at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
请提供堆栈跟踪
-
Stacktrace 已发布。谢谢
-
尝试使用 getApplicationContext() 而不是 getActivity()
-
根据堆栈跟踪,您的问题不在于意图,而在于第 73 行的 Toast。正如@galhe2 所提到的,问题可能出在线程上。因此,您可以尝试使用 runOnUiThread 将该行包装在构造中。
-
@Bashalex 我在第 73 行注释掉了 Toast 以使其不会崩溃,但它仍然适用于用 runOnUiThread 包装的 Intent。
标签: android android-intent android-activity dialogfragment