@id/
과의 차이점은 무엇입니까@+id/
?
에 @+id/
더하기 기호 +
지시하는 새로운 자원 이름을 생성하고에 추가 R.java
파일하지만 약 @id/
? 문서에서 ID
: Android 자원을 참조 할 때 ID
더하기 기호가 필요하지 않지만 다음과 같이 android 패키지 네임 스페이스를 추가해야합니다.
android:id="@android:id/list"
그러나 아래 이미지에서 Eclipse는 어떤 종류의 제안하지 않습니다 @android:id/
.
인가
@id/
와@android:id/
같은?
답변
당신은 참조 Android resources
로, 이미 안드로이드 시스템에 정의 된, @android:id/..
당신이 정의했다고 리소스에 액세스하는 동안 / 프로젝트에서 생성, 사용@id/..
더 많은 정보
채팅의 설명에 따라 다음과 같은 문제가 있다고 말했습니다.
우리가 사용
android:id="@id/layout_item_id"
하면 작동하지 않습니다. 대신@+id/
작동하므로 여기의 차이점은 무엇입니까? 그리고 그것은 내 원래의 질문이었습니다.
당신의 XML 속성을 사용할 때 글쎄, 그것은 상황에 따라 android:id
다음 새 ID를 지정하고, 파서 지시 (또는 빌더 호출)에 새 항목을 만들 수있다 R.java
, 따라서 당신이 가지고, 표시를 포함 +
하십시오.
와 같은 다른 경우 android:layout_below="@id/myTextView"
에는 이미 생성 된 ID를 참조하므로 파서는이를에서 이미 생성 된 ID에 연결 R.java
합니다.
더 많은 정보 다시
채팅에서 말했듯 이 사용중인 요소 다음에 작성된 요소 인 경우 android:layout_below="@id/myTextView"
id를 가진 요소를 인식하지 못합니다 myTextView
.
답변
+ 부호는 ID를 자원 ID 목록에 추가하는 바로 가기입니다. 그렇지 않으면 다음과 같은 xml 파일에 있어야합니다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="my_logo" type="id"/>
</resources>
답변
때때로 레이아웃 파일에 다음과 같은 참조가 나타납니다.
<listview id="@+id/android:list">
과
<listview id="@android:id/list">
차이점이 뭐야?
.. ☺ 물어봐서 기쁘다
@+id/foo
애플리케이션의 네임 스페이스에 foo라는 ID를 작성하고 있음을 의미합니다. 를 사용하여 참조 할 수 있습니다 @id/foo
.
@android:id/foo
은 안드로이드 네임 스페이스에 정의 된 ID를 참조하고 있음을 의미합니다.
‘+’는 심볼이 존재하지 않는 경우 심볼을 작성하는 것을 의미합니다. android : 심볼을 참조 할 때 필요하지 않으며 사용하지 않아야합니다. 이는 심볼이 플랫폼에 의해 이미 정의되어 있고 어쨌든 해당 네임 스페이스에서 자신을 만들 수 없기 때문입니다.
이 네임 스페이스는 프레임 워크의 네임 스페이스입니다. 예를 들어, @android:id/list
프레임 워크가 찾을 것으로 예상되는 ID이기 때문에 사용해야합니다 . (프레임 워크는 안드로이드 네임 스페이스의 ID에 대해서만 알고 있습니다.)
이 소스 에서 완전히 복사
답변
한마디로
android:id="@+id/my_button"
+ id 더하기 부호는 Android에서 리소스에 새 ID를 추가하거나 만들도록 지시합니다.
동안
android:layout_below="@id/my_button"
이미 생성 된 ID를 참조하는 데 도움이됩니다 ..
답변
+
자원 유형 앞 의 더하기 부호 ( )는 자원 ID를 처음 정의 할 때만 필요합니다. 앱을 컴파일 할 때 SDK 도구는 ID 이름을 사용하여 프로젝트R.java
파일에EditText
요소 를 나타내는 새 리소스 ID를 만듭니다 . 이 방법으로 리소스 ID를 한 번 선언하면 ID에 대한 다른 참조에는 더하기 부호가 필요하지 않습니다. 더하기 부호는 새 자원 ID를 지정할 때만 필요하며 문자열이나 레이아웃과 같은 구체적인 자원에는 필요하지 않습니다. 자원 객체에 대한 자세한 내용은 사이드 박스를 참조하십시오.
보낸 사람 : https://developer.android.com/training/basics/firstapp/building-ui.html
답변
매우 간단합니다.
“@ + …”-새로 만들기
“@ …”-기존 링크
출처 : https://developer.android.com/guide/topics/resources/layout-resource.html#idvalue
답변
로부터 개발자 가이드 :
android:id="@+id/my_button"
@
문자열의 시작 부분에있는 at 기호 ( )는 XML 구문 분석기가 나머지 ID 문자열을 구문 분석하고 확장하여 ID 자원으로 식별해야 함을 나타냅니다. 더하기 기호 ( +
)는 R.java
파일 에서 파일에 작성하여 추가해야하는 새로운 자원 이름임을 의미합니다 . Android 프레임 워크에서 제공하는 다른 ID 자원이 많이 있습니다. Android 리소스 ID를 참조 할 때는 플러스 기호가 필요하지 않지만 다음과 android
같이 패키지 네임 스페이스를 추가해야합니다 .
android:id="@android:id/empty"