2016-03-04 71 views
0
Intent i = new Intent(getActivity(), MytabActivity.class); 
startActivity(i); 

当从调用活动中单击按钮时,将打开我的DialogFragment。我做了它的要求,并能够运行代码的所有部分,除了在服务器成功响应后打开另一个活动(我使用的是抽象)。这些值确实发生了变化,但是在这部分中它会崩溃。Android:在DialogFragment中使用Intent启动活动时应用程序崩溃

任何想法?

这里是代码的截图。

enter image description here

的logcat:

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) 
+0

请提供堆栈跟踪 –

+0

堆栈跟踪发布。谢谢 – aspiringOne

+0

尝试使用getApplicationContext()而不是getActivity() –

回答

0

崩溃,可能是因为你调用从后台线程的意图。请确保您调用从主线程您的意向活动里面

尝试施放以下里面你的意图:

context.runOnUiThread(new Runnable() { 
    public void run() { 
     //INTENT HERE 
    } 
}); 
+0

IDE无法解析runOnUiThread,因为我的类扩展到'DialogFragment'而不是'Activity' – aspiringOne

+0

您能够获得DialogFragment中的上下文吗?如果是,请在runOnUiThread之前添加它(请参阅编辑答案) 您可以通过调用以下方法来获取上下文:getApplicationContext() – galhe2

+0

我可以通过getActivity()获取线程runOnUiThread(new Run .... 。“但是这个错误仍然存​​在于同一个地方。 – aspiringOne