Android の「@id/」と「@+id/」の違い 質問する

Android の「@id/」と「@+id/」の違い 質問する

@id/との違いは何ですか@+id/?

@+id/プラス記号では+、新しいリソース名を作成してR.javaファイルに追加するよう指示されていますが、どうでしょうか@id/ID: Android リソースを参照する場合ID、プラス記号は必要ありませんが、次のように Android パッケージ名前空間を追加する必要があります。

android:id="@android:id/list"

しかし、下の画像では、Eclipse はいかなる種類のも示唆していません@android:id/

@/id と @+/id の提案を示す画像

@id/@android:id/同じですか?

ベストアンサー1

Android resourcesAndroidシステムで既に定義されている を参照し、@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

おすすめ記事