@id/
との違いは何ですか@+id/
?
@+id/
プラス記号では+
、新しいリソース名を作成してR.java
ファイルに追加するよう指示されていますが、どうでしょうか@id/
?ID
: Android リソースを参照する場合ID
、プラス記号は必要ありませんが、次のように Android パッケージ名前空間を追加する必要があります。
android:id="@android:id/list"
しかし、下の画像では、Eclipse はいかなる種類のも示唆していません@android:id/
。
@id/
と@android:id/
同じですか?
ベストアンサー1
Android resources
Androidシステムで既に定義されている を参照し、@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
。
詳細情報
チャットで言ったように、ID が使用されている要素の後に記述されている場合、android:layout_below="@id/myTextView"
ID を持つ要素は認識されないことに注意してください。myTextView