2012-12-01 9 views
0

버튼을 누를 때 다른 매개 변수를 사용하여 현재 동일한 클래스를 열려고합니다. 나는 이것을 다음과 같이한다 :같은 액티비티에서 활동 열기

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

그러나 나는 nullpointer 예외를 얻는다. 당신이 그 자체 안에 같은 활동을 열 수 없다는 규칙이 있는가?

오류 :

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() 또는 다른 곳의 다른 것과 관련이있을 수 있습니다. 로그인 할 수 있습니까? – codeMagic

+0

오류 메시지를 추가했습니다! Ps. 예를 들어 1로 변경하면 여전히 메시지가 나옵니다. –

+0

86 행은 무엇입니까? –

답변

1

내가 당신의 ID가 초기화 가져 오지 생각합니다. ID를 사용하는 함수로 값을 초기화하지 않으므로 값을 가지지 않습니다. 이것이 그렇지 않다면 서로 다른 장소에서 동일한 변수 이름을 사용하고 있습니다. 일반적으로 그다지 좋은 연습이 아닙니다.

관련 문제