마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

액션바에서 클릭해서 다이얼로그 박스 띄우고 확인을 누르면 에러가 납니다

0 추천
09-05 15:14:40.065: E/AndroidRuntime(8489): android.content.ActivityNotFoundException: Unable to find explicit activity class {/swu.condi.daydream_v1_0.UploadDreamActivity}; have you declared this activity in your AndroidManifest.xml?
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1645)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1441)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Activity.startActivityForResult(Activity.java:3464)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Activity.startActivityForResult(Activity.java:3425)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Activity.startActivity(Activity.java:3661)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.Activity.startActivity(Activity.java:3629)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at swu.condi.daydream_v1_0.MainActivity$2.onClick(MainActivity.java:89)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:185)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.os.Handler.dispatchMessage(Handler.java:99)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.os.Looper.loop(Looper.java:176)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at android.app.ActivityThread.main(ActivityThread.java:5455)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at java.lang.reflect.Method.invokeNative(Native Method)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at java.lang.reflect.Method.invoke(Method.java:525)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
09-05 15:14:40.065: E/AndroidRuntime(8489): 	at dalvik.system.NativeStart.main(Native Method)

 

액션바에서 추가, 설정 버튼을 만들고 추가버튼을 누르면 다이얼로그 박스가 뜹니다.

다이얼로그 박스에서 4개의 항목 중 하나를 선택하고 확인을 누르면 위와 같이 에러가 뜹니다.

취소버튼을 누르면 finish();로 적용이 되는데, 확인버튼에서 문제가 있는건지 궁금합니다.

 

 

	/** 꿈 유형을 선택하는 다이얼로그 박스 **/
	private void SelectDreamType() {

//		final String items[] = { "되고 싶은 꿈", "하고 싶은 꿈", "가고 싶은 꿈", " 갖고 싶은 꿈" };
		AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
		dialog.setTitle("어떤 꿈을 꾸고 싶은가요?");
		dialog.setIcon(R.drawable.ic_launcher);
		dialog.setSingleChoiceItems(R.array.dream_type, mSelect,
				new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int which) {
						mSelect = which;
					}
				})
				.setPositiveButton("꿈선택",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,int which) {
								String[] dream_type = getResources().getStringArray(R.array.dream_type);
//								Intent upload_intent = new Intent(this,
//										UploadDreamActivity.class);
								startActivity(upload_intent);
								finish();
							}
						})
				.setNegativeButton("취소", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int which) {
						dialog.cancel();
					}
				});
		dialog.show();
	}

빨간색 부분에서 에러가 나네요.

Intent upload_intent = new Intent(this,UploadDreamActivity.class);

위와 같이 황토색 부분을 써주면 에러가나서 클래스  맨 위에서 전역변수로 설정해주었는데 

왜 에러가 나는지도 잘 이해가 안갑니다.

이부분 때문에 에러가 나는거 같은데,,

알ㄹㅕ주시면 감사하겠습니다.

 

 

dmsruddl91 (250 포인트) 님이 2014년 9월 5일 질문
dmsruddl91님이 2014년 9월 5일 수정
로그상 ActivityNotFoundException 나온게,
확인 버튼을 누르면 UploadDreamActivity 를 실행 시킬듯 한데 맞는지요?
맞다면 AndroidManifest.xml 에 UploadDreamActivity 가 선언이 안되어 있어 못 찾은듯 한데요..
추가해주었는데... 패키지이름까지 정확하게 써서 추가해주었거든요
Intent upload_intent = new Intent(this, UploadDreamActivity.class);
여기에서 this를 MainActivity.this(해당 액티비티)로 바꿔주니 되네요!

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...