이전에 질문했었는데 제가 잠시 나갔다오느라 댓글확인이 늦어버렸네요 ㅠㅠ
제가 원하는건 이거에요
메인 액티비티가 레벨선택 액티비티 호출 > 레벨선택 액티비티에서 세가지 레벨중 선택
>선택이 되면 intent에 정수값 저장, setResult
>메인 액티비티에서 값을 받아다 씀.
이건데... 액티비티 호출까지는 되는데 터치하면 예외에러 뜨면서 서브액티비티만 꺼지네요.
소스 이거구요.
//값을 보내고 받아오는 액티비티 ///////////////// 04.
05.public class MainActivity extends Activity { 06. 07. String test; 08. 09. @Override10. public void onCreate(Bundle savedInstanceState) { 11. super.onCreate(savedInstanceState); 12. 13. setContentView(R.layout.main); 14. test=null; 15. 16. Intent intent = new Intent(MainActivity.this, ChoosePage.class); 17. startActivityForResult(intent, 1); //두번째 액티비티 호출 18. } 19. 20. @Override21. protected void onActivityResult(int requestCode, int resultCode, Intent data) { 22. // TODO Auto-generated method stub 23. 24. if(resultCode == RESULT_OK){ 25. if(requestCode == 1){ 26. test=data.getStringExtra("level"); //결과값 저장 27. } 28. } 29. super.onActivityResult(requestCode, resultCode, data); 30. }
public class ChoosePage extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.choosepage);
findViewById(R.id.easy).setOnClickListener(onClick);
findViewById(R.id.normal).setOnClickListener(onClick);
findViewById(R.id.hard).setOnClickListener(onClick);
}
//리스너
Button.OnClickListener onClick = new Button.OnClickListener(){
Intent intent=getIntent();
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.easy:
intent.putExtra("level", "easy");
break;
case R.id.normal:
intent.putExtra("level", "normal");
break;
case R.id.hard:
intent.putExtra("level", "hard");
break;
}
setResult(RESULT_OK, intent);
finish();
}
};
}이렇게 했는데 에러가 뜨고 에러가 가리키는 위치는 intent.putExtra("level", "easy"); 여기에요ㅜ
그리고 이건 로그캣.. 고수님들 한수만 내려주시옵소서 ㅠㅠㅠㅠㅠ
FATAL EXCEPTION: main
ERROR/AndroidRuntime(3427): java.lang.NullPointerException
ERROR/AndroidRuntime(3427): at com.GuardianDefence.ChoosePage$1.onClick(ChoosePage.java:43)
ERROR/AndroidRuntime(3427): at android.view.View.performClick(View.java:2436)
ERROR/AndroidRuntime(3427): at android.view.View$PerformClick.run(View.java:8846)
ERROR/AndroidRuntime(3427): at android.os.Handler.handleCallback(Handler.java:587)
ERROR/AndroidRuntime(3427): at android.os.Handler.dispatchMessage(Handler.java:92)
ERROR/AndroidRuntime(3427): at android.os.Looper.loop(Looper.java:123)
ERROR/AndroidRuntime(3427): at android.app.ActivityThread.main(ActivityThread.java:4627)
ERROR/AndroidRuntime(3427): at java.lang.reflect.Method.invokeNative(Native Method)
ERROR/AndroidRuntime(3427): at java.lang.reflect.Method.invoke(Method.java:521)
ERROR/AndroidRuntime(3427): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:881)
ERROR/AndroidRuntime(3427): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:639)
ERROR/AndroidRuntime(3427): at dalvik.system.NativeStart.main(Native Method)




preferece 를 사용해보세요..