have you declared this activity in your AndroidManifest.xml?의 오류에 관하여

원종인·2022년 6월 4일
0

해당 코드를 고치는 방법은 인터넷 찾아보면 수두룩 빽빽하게 나온다.
https://mainia.tistory.com/701
이렇게 menifest에 activity를 등록하는 것 방법이 가장 당연한 방법이고
99.999%의 사람들은 해당 방법으로 해결할 것이다.

그런데 이렇게 등록을 하고서도 해결이 안되는 사람들이 있다.
우선적으로 activity의 package를 잘 찾아보아라. 해당 위치가
다르면 오류가 생겨서 제대로 등록되지 않는다.
https://m.blog.naver.com/sue9897/222057972218
이런 실수로 생기는 거는 아마 1%되지 않을까?

그런데 나는 그런 실수가 아니고 엄청 멍청한 실수를 저질렀고 그거에 하루를 버렸다

// 목록보기 클릭시 List_letter로 전환
Button go_list_button = (Button) findViewById(R.id.go_list);
go_list_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), ListActivity.class);
startActivity(intent);
}
});

해당 코드는 클릭하면 ListActivity로 넘어가고자 하는 나의 코드이다. 그런데 이 코드가 위의 오류가 걸렸다. 왜 그럴까? 나는 분명히 menifest에 activity 등록도 하고 패키지 이름도 맞춰놨다. 그런데 생긴 오류다.

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

이제 보일 것이다. 내가 언제인지는 모르겠지만 멍청하게 ListActivity를 import해놨다. 그래서 다른 기능이어도 이름이 겹치니까 문제가 생긴것이다. 심지어 import한 ListActivity를 우선적으로 보므로 menifest에서 등록이 안됬다고 하고 어플에서도 해당 페이지가 팅기는 것이다. 여러분은 제발 이런 바보같은 실수 하지 않길 바란다.
즉 당신이 사용하고자 하는 액티비티 이름과 안드로이드 스튜디오에서 제공하는 액티비티의 이름이 겹치는 일이 없게해야한다. 안그러면 이딴 오류로 하루 날밤 깐다.
심지어 이런 오류는 안드로이드 기능에 의해서 의도치 않은 방향으로 정상적으로 작동하기에 logcat 오류에서도 제대로 안나타나서 이유를 찾기도 힘들다. 그러니까 여러분들은 이런 일이 안 일어나길 바란다.

profile
아직 대학생입니다

0개의 댓글