最初の Android アプリケーションを作成するチュートリアルを進めているときに、接頭辞がファイルで@+id/
定義されているリソースを参照するだけでなく、その記号がそのリソースとの最初の遭遇を示しているため、それを作成することを示すセクションにたどり着きました。次のコード スニペットを検討してください。gen/R.java
+
<EditText android:id="@+id/edit_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
リソースに関連する最初のリンクのサイドバーと、そこにリンクされている「リソースの提供」という名前の記事を(やや大ざっぱなレベルで) 読んだ後、ドキュメントから、@+id/
プレフィックスを持つリソース。各プレフィックス内に同じ名前のリソースをスコープできることを理解しています。
注:この文字列リソースは、要素 ID と同じ名前の edit_message を持っています。ただし、リソースへの参照は常にリソース タイプ (id や string など) によってスコープが設定されるため、同じ名前を使用しても衝突は発生しません。
しかし、私が運転しているのはこれです。ドキュメントに基づいて、競合が発生するため、2 つの異なるアクティビティのように 2つのコントロールをリソース化することはできないようです。edit_message
ここでの私の懸念は、コードからこれらのコントロールにアクセスできるように、属性を一意に保つためにid
属性の前に名前を付ける必要があると思われることです。Activity
ここでの私の発言と仮定は正しいですか?