14

誰かが Android の XML ファイルの と タグandroid:idandroid:name違いを明確にすることができますか? nameそれらはすべて、物事を参照する方法のようです。

たとえば、ファイルに文字列配列がある場合、定義された配列のフィールドres/values/array.xmlを使用してアクセスしますが、 Javadocはこれを「ID」と呼んでいます。name

android:idsで使用されているようViewです ?

何か足りないのでしょうか、それとも 1 つのタグを付けた方が簡単ではないでしょうか?

4

1 に答える 1

5

いいえ、あなたが何かを見逃しているとは思いません。これらのフィールドの名前は異なりますが、どちらもリソースの識別/参照に使用されると理解しています。これは具体的には、 の場合は GUI 要素 (ビュー)、 の場合はandroid:id静的リソースを意味しnameます。

さらに詳しく説明すると、android:id属性はビューとビューを拡張するクラスにのみ割り当てられると思います。これは、以下を使用してコードからプログラムでビューにアクセスできるようにするためですfindViewById

Button myButton = (Button) findViewById(R.id.whatever_id_assigned_to_view)

これは、strings.xml や array.xml など、単純に で識別されるリソースとは異なります。strings.xml に含まれるname可能性のある次の例を参照してください。

<string name="string_name">Text Resource Here</string>

を使用してアクセスされます...

getResources().getText(R.string.string_name)

これらは組織的な理由で分離されていると思います。このようにして、生成された Android リソース ファイル (R.java) には、R.id のビューに指定された ID、R.string に含まれる文字列 ID、R.array の配列 ID などが含まれます。

于 2011-02-24T17:40:32.767 に答える