2012-04-10 7 views
0

기본 레이아웃을 사용하여 Eclipse에서 새로운 Android 프로젝트로 작업하면서 어딘가에 문서화 된 동작이 발견되었지만 어디에서 식별 할 수 있습니까? strings.xml의이 "안녕하세요"자원이처럼 보이는 문자열을 포함하는 경우TextView가 문자열 리소스를 표시하는 디자이너 오류를 던졌습니다

는 :

<string name="hello" 
    formatted="false">@BrandingName: Branding phrase ending with @ 
    </string> 

이클립스 디자이너는 자원 값을 해결 ArrayIndexOutOfBounds가 발생합니다. "@BrandingName :"의 일부분을 올바르게 벗어나는 방법을 모르기 때문에 이것이라고 추정 할 수 있습니까? TextView를 사용하여 올바르게 표시하는 방법은 무엇입니까?

은 참조를 위해 텍스트 뷰 노드는 다음과 같습니다

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" /> 

답변

0

문자열 리소스를 "@"로 시작하면 디자이너에서 오류가 발생합니다. 선행 공백은 오류를 예방합니다. 선행 공백은 TextView에서 렌더링되지 않습니다.

1

시도 대신에 '@'의 실체를 사용하는 - 당신이 당신의 문자열의 서식을 갖고 싶어하는 경우도 & # 64

그리고 다음과 같이 CDATA를 사용할 수 있습니다.

<string name="hello"><![CDATA[ @BrandingName: Branding phrase ending with @ ]]></string> 
+0

@ 브랜딩 이름 : @으로 끝나는 브랜딩 문구도 동일한 예외가 발생합니다. CDATA가있는 공식은 @ 앞에 공백이있는 한 작동합니다. 분명히 @ 문자열 리소스를 시작하면 간접적 인 리소스로 해결할 시도 ... –

+0

+1 날 버그를 발견 할 정도로 충분히 가까이에있어 예 (적어도 버그처럼 보입니다) –

관련 문제