2012-12-01 55 views
0

我嘗試按下按鈕時使用不同參數打開與當前所在類相同的班級。我這樣做:在同一活動中打開活動

Intent j = new Intent("com.test.com.ANSWER"); 
      id = calculateId(0); 
      j.putExtra("id", Long.toString(id)); 
      startActivityForResult(j, 0); 

但我得到一個空指針異常..是否有一些規則,你不能在自己內部打開相同的活動?

錯誤:

12-01 01:29:10.314: E/AndroidRuntime(2194): FATAL EXCEPTION: main 
12-01 01:29:10.314: E/AndroidRuntime(2194): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.Answer}: java.lang.NullPointerException 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.os.Looper.loop(Looper.java:130) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at java.lang.reflect.Method.invoke(Method.java:507) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:861) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:619) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at dalvik.system.NativeStart.main(Native Method) 
12-01 01:29:10.314: E/AndroidRuntime(2194): Caused by: java.lang.NullPointerException 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at com.test.Answer.onCreate(Answer.java:86) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-01 01:29:10.314: E/AndroidRuntime(2194):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
+1

我不確定有一個規則,但我也不確定這是個好主意。如果這就是你需要做的,那麼也許應該有一個你繼承的類。空指針異常在哪裏?它可能需要處理像calculateId()或其他地方的其他內容。你可以發佈logcat嗎? – codeMagic

+0

我添加了錯誤信息! Ps,這不是主意,因爲如果我將它改爲1例如,我仍然會收到該消息。 –

+0

什麼是86行? –

回答

1

我覺得你的ID是沒有得到初始化。你正試圖用一個使用這個ID的函數初始化它,所以它永遠不會有值。如果不是這樣,那麼你在不同的地方使用相同的變量名稱,這通常不是很好練習