2010-11-27 3 views
12

많은 Android 설명서를 읽었으며 "@ + id"라는 id 값 접두사가 무엇을 의미하는지 알려주지 않았습니다. 나는 "@ 스트링"과 그 변화의 의미는 알지만 "+"와의 차이는 아닙니다. 나에게 답을주는 것 외에도, 안드로이드 문서에서 이것이 어디에 기록되어 있는지를 보여줄 수 있습니까?"@ + id"는 무엇을 의미합니까?

답변

39

더하기 기호는 단순히 ID가 존재하지 않으면 만들어야 함을 나타냅니다.

그것은 일반적인 관행 코드에서 참조 할 R.id.foo를 레이아웃에 새로운보기를 정의 할 때 @+id/foo를 사용하고 레이아웃의 다른 부분에서보기를 참조 @id/foo을 사용 (말하는 RelativeLayout의 계층 구조에서)하거나입니다.


UPDATE : 문서 도구 현재 위치 : Declaring Layout - Attributes - ID 자바 코드에 안드로이드 XML 레이아웃 요소를 연결하기위한 구문이다

3

. TextView에 텍스트를 표시하려면이 작업을 수행해야합니다.

1 단계 - 정의 레이아웃

<TextView 
android:id="@+id/SaveResult" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="SaveResult" 
android:layout_x="16px" 
android:layout_y="190px" 
> 
</TextView> 

그런 다음 코드에서, 나는 변수에 레이아웃을 링크 @ + ID를 사용합니다. @ + id를 데이터베이스의 외래 키로 생각하십시오.

TextView lblSaveResult = (TextView)findViewById(R.id.SaveResult); 

이제 사용할 준비가되었습니다. 나는 텍스트를 할당 할 때, 그것을 넣어 위치를 확인하기 위해 @의 + ID를 사용하고, 또한 색상, 크기 등

lblSaveResult.setText("This text is now on the screen"); 

죄송합니다,하지만 문서는이를 위해 어디 있는지 모르겠어 ...

1

XML의 리소스 개체를 참조 할 때 at 기호 (@)가 필요합니다. 그 뒤에 자원 유형 (이 경우 id)이옵니다.

처음으로 리소스 ID를 정의 할 때만 리소스 유형 앞에 더하기 기호 (+)가 필요합니다. 응용 프로그램을 컴파일 할 때 SDK 도구는 ID 이름을 사용하여 UI 요소를 참조하는 프로젝트의 gen/R.java 파일에 새 자원 ID를 만듭니다. 이 방법으로 한 번 선언 된 리소스 ID로 인해 ID에 대한 다른 참조에는 더하기 기호가 필요하지 않습니다. 더하기 부호를 사용하는 것은 새 자원 ID를 지정할 때만 필요하며 문자열이나 레이아웃과 같은 구체적인 자원에는 필요하지 않습니다.

0

더하기 기호는 존재하지 않는 새 ID를 작성 중임을 나타냅니다. 예 : "@ + id/xyz". "@ id/xyz"라고 쓰면 레이아웃의 다른 부분에서 뷰를 참조하고 있음을 나타냅니다.