안드로이드 개발 질문/답변
(글 수 45,052)
테스트용 프로그램을 돌리면서 수시로 겪게되는 문제중 하나인데,
레이아웃 xml 파일에 어떤 뷰를 추가시키고 그 뷰를 이용하려고 할때
아무런 이유도 없이NullPointerException 이 자주 나타나는 문제입니다..
1. XML에 새로운 뷰를 추가시켰는데도 불구하고, 저장후 새로 컴파일을 했음에도 반영되지 않거나,
2. 특정 뷰를 findViewById()로 포인터 받아서 실행 했을때 NullPointerException이 발생합니다.
확인해본 결과
1의 경우 변경된 소스를 새로 컴파일 하지 않아서 생기는 문제는 아니고,
2의 경우 Log를 찍어서 포인터 존재 여부를 확인했음에도 예외는 발생합니다.
문제 해결을 위하여
xml에 기존 뷰를 없앴다가 동일한것을 다시 생성한 후(ctrl + z로...) xml파일을 저장했을때는 무난하게 돌아가는 경우도 있었고,
( R.java를 새롭게 수정되게 하려고 해본 시도 였음..)
어떤 방법으로도 잡을수가 없어서, 같은 코드를 새로운 프로젝트에 옮겨서 하면 이상없이 실행되는 경우도 있었습니다.
아무리 생각해도 코드상 문제점을 모르겠는데도 이런 문제가 너무 자주 발생해서
많은 시간을 낭비하고 있습니다.
혹시 제가 간과하고 있을만한 실수나, 보고된 이클립스나 컴파일러의 버그가 있으면 알려주셨으면 합니다.




전 가끔 리소스 꼬인거 같으면
clean 하고 빌드 새로 해줍니다.