2012-02-16 3 views
0

필자는 IDEA의 인텔리 센스를 자동으로 사용합니다 (Alt + Enter). 나는 어떤 옵션을 제공할지 알고 있습니다. 그래서 오늘 아침에 XML ID (LinearLayout의 ID)의 이름을 바꾸고 (아마) 어떻게 든 R.java 파일에 직접 항목을 생성했습니다. 나중에 프로젝트를 컴파일하고 싶지만 오류가 계속 발생합니다 : <identifier> expected. R.java은 분명히 파일에 찢어진이 지금R.java에서 외계인 요소를 제거하는 방법은 무엇입니까?

public static final class id { 
    public static final int @+id/linearLayoutMessages=0x7f080012; 
    //... other IDs 

처럼 보이는 것은 접두사 @ + ID/입니다.

R.java을 제거하고 프로젝트를 재구성하려고했지만 도움이되지 않았습니다. 동일한 오류 및 동일한 항목이 자체 재생성을 유지합니다. R.java에서이 항목을 수동으로 제거하여이 문제를 (일시적으로) 해결할 수 있지만 프로젝트를 다시 작성할 때마다이 메시지가 표시됩니다.

R.java을 삭제 한 후에도 이상한 항목이 계속 유지되는 이유는 무엇입니까? IDEA의 버전은 11입니다.

+3

XML에 실수로 "@ + id/@ + id/linearLayoutMessages"라는 ID를 가지고 있지 않습니까? – AndrewKS

+0

나는 그렇지 않다. 그래서 나는 이것을 다시 점검 할 것이다. 하지만 나는 컴파일러가 컴파일에서 수동으로 컴파일을 진행하게하는 R.java 항목을 수동으로 제거한 후에 컴파일러가 불법적 인 이름에 대해 불평하지 않는다고 의심한다. – sandalone

+0

OH MY GOD! 당신이 옳았. 그냥 거기 서 있었어. 귀하의 답변을 수락 할 수 있도록 회신하여주십시오. – sandalone

답변

3

XML에 "@ + id/@ + id/linearLayoutMessages"가 있습니다. 어리석은 거위입니다.

0

내 경우 엔 안드로이드 : id = "@ + id/52_day_card_image"라고 쓴 것이 불법입니다. 해결 방법은 android : id = "@ + id/fiftytwo_day_card_image"입니다. 바보 같은, 또는 어리석은 컴파일러, 당신의 선택

+0

자바가 숫자로 시작하는 변수 이름을 허용하지 않는다고 생각합니다. – sandalone

관련 문제