2016-03-04 126 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