2011-11-05 3 views
0

내 응용 프로그램의 홈 화면을 다시 실행하기로 결정 했으므로 가장 먼저 수행 한 작업은 특정 가로/세로 레이아웃을 제거하고 간단한 레이아웃을 사용하는 것이 었습니다. GridView를 ListView로 변경했습니다 (ID도 변경). 문제는 모든 것을 적용하고 시도한 후에 새로운 ListView를 사용하려고 할 때 NullPointerException을 얻기 시작했기 때문입니다.잘못된 레이아웃 얻기

에뮬레이터와 hierarchyviewer을 사용한 후, 필자는 기적적으로 물리적으로 삭제 한 후에도 이전 레이아웃이 부풀어 오르는 것을 보았습니다.

그래서 어떤 검은 얼룩말이 발생했는지 알아 내려고 시도한 후 처음으로 새로운 홈 화면을 시작하여 웰컴 스크린이라고 부르기로했습니다 (이전 활동이나 레이아웃에 대한 언급이 없었습니다). 나는 이전의 것을 삭제하고 AndroidManifest에게이 새로운 활동을 선택하라고 말했습니다.

응용 프로그램을 마술과 같이 휴대 전화에 설치하면 완전히 다른 (아직 내 레이아웃의 폴더에 있음)보기가로드되었습니다. 우연의 일치로 R 파일에서 내가 원하는 레이아웃 바로 위에 레이아웃을로드했습니다.

이 이상한 문제를보고 해결 한 사람이 있습니까? 미리 감사드립니다.

+1

일부 코드를 게시해야한다고 생각합니다. 설명이 혼란 스럽습니다. –

+0

일부 코드를 게시하고 받고있는 예외에 대한 logcat을 제공하십시오. –

+0

프로젝트를 여러 번 정리할 수 없음을 기억하십시오.) – Tapirboy

답변

1

이것은 새 문자열 리소스를 만들거나 삭제 한 후 자주 발생합니다. 나는 ADT가 가끔 발생하는 버그를 가지고 있다고 생각한다. 리소스의 수를 변경했다는 사실을 깨닫지 못한다. 그래서 새로운 리소스 나 삭제 된 리소스 이후의 모든 것이 ID가 하나씩 오프셋된다.

프로젝트로 이동 ---> 정리 ... 매번 저를 위해 수정합니다.

레이아웃의 ID를 업데이트했지만 layout-large 또는 layout-land와 같은 구성 중 하나에서 업데이트하는 것을 잊어 버린 경우 발생할 수있는 또 다른 문제가있을 수 있습니다. 컴파일러는 이에 대해 불평하지 않을 것이므로주의 깊게 살펴야합니다.

+0

놀라워요! 그것은 매력처럼 작동했습니다. 미리 컴파일 된 자료가 제대로 업데이트되지 않았나 보지 않습니까? 내게 무언가는 숫자로 시작하는 드로어 블을 추가 한 것입니다. R (vars는 숫자로 시작될 수 없으므로 올바르게 작성되지 않음)에 기록 될 때가 아니라 파일 시스템에서는 괜찮은 것 같습니다. 그래서 그 순간에 안드로이드는 올바른 것이 아닌 드로어 블을 보여주었습니다. 어쨌든, 고마워! – Korcholis

관련 문제