2012-02-06 2 views
0

내 레이아웃에서 모든 컨트롤이 기본값 (모든 Eclipse GUI)에서 이름이 바뀌었지만 R.java 파일에 올바른 id 상수가 없으므로 프로젝트를 깨끗하게 실행했습니다 저장 후 올바르게 다시 생성 *.안드로이드 아이디가 모두 동기화되지 않았습니다

그러나 존재하는 ID를 참조하려고 할 때 예 : 안드로이드 : layout_alignLeft = "@ 아이디/selectKey"나는 손으로 XML에 입력하면

  1. 나는 '자원을 찾을 수 없습니다'는 R.java에있는 실제 이름에도 불구하고 컴파일러에서 얻을 내가 준 컨트롤의

  2. 대화 상자에서 'ID'를 확장하면 이클립스를 사용하여 동일한 속성을 업데이트하려고해도 원래 이름 목록 만 포함되어 있고 새 이름 목록은 포함되어 있지 않습니다. .java 파일)

어떻게 해결할 수 있습니까? 뭔가 올바르게 동기화되지 않는 것 같습니다.

* btw, 이것이 버그인지는 모르겠지만 프로젝트를 정리 한 후 R.java 파일을 삭제했지만 R 코드가 R 객체를 참조했기 때문에 R.java 파일을 다시 작성하지 않았습니다. 있다. 결국 R.java 파일을 재생성하기 위해 코드에서 R에 대한 모든 참조를 주석 처리해야했습니다. 따라서 R이 컴파일러 승계에 의존하면서 생성되었지만 R이 거기에 있다는 것에 의존하는 컴파일러 승계의 경우입니다.

+0

프로젝트> 정리를 시도해 보셨습니까? – ggreiner

답변

2

프로젝트 -> 정리가 작동하지 않는 경우. "gen"폴더 (공포)를 삭제할 수 있습니다. Eclipse가 다시 빌드합니다.

+0

gen 폴더를 삭제하면 R.java와 R.java를 삭제하는 것이 얼마나 좋은지 알 수 없습니다. :) 그러나 R.java에 대한 순환 종속성 문제는 모든 버그가 수정 될 때까지 어떻게 수정합니까? R.java가 생성 될 때까지는 버그를 고칠 수 없다. (즉, 내 코드는 R 객체를 사용하므로 컴파일되지 않을 것이고 R.java가 생성되기 전에 R을 참조하는 모든 단일 라인을 주석 처리해야한다.) –

+0

그것은 좋은 질문이다. 폴더 및 그것의 내용을 자동으로 다시 작성되지만 어딘가에 문제가있는 경우 효과적으로 빌드를 중단합니다. 오류 (예 : XML 레이아웃 오류) 수정 한 다음 성공적으로 다시 빌드해야 프로젝트를 정리할 필요가 없습니다. 이클립스의 오류 탭을 보면 문제를 알 수 있고 내 경험상 목록 상단에있는 것이 보통 실제 문제이다. –

+0

감사합니다. 지금 모두 정렬되었습니다. 내 첫 킬러 안드로이드 앱이 거의 완성되었습니다.) –

0

gen 및 bin 또는 classes 폴더를 수동으로 삭제 한 다음 다시 정리하십시오.

또한 문제는 아니지만 코드에서 올바른 R을 가져오고 있는지 확인하십시오. 즉 귀하의 것, 안드로이드가 아닙니다.

관련 문제