Android:id=「@id」とandroid:id=「@+id/」の違い

1471 ワード

@の後に「+」を使用すると、レイアウトファイルを変更して保存すると、R.javaファイルに対応するintタイプ変数が自動的に生成されることを示します.変数名は「/」の後の値です.たとえば、@+id/xyzはR.javaファイルでint xyz=valueを生成します.valueは16進数です.xyzがR.javaに同じ名前の変数がすでに存在する場合、新しい変数は生成されません.このコンポーネントは、この既存の変数の値を使用します.
すなわち、@+id/name形式を使用する場合、R.javaにname変数という名前の変数が存在する場合、コンポーネントはその変数の値を識別として使用します.変数が存在しない場合は、新しい変数を追加し、その変数に対応する値を割り当てます(重複しません).
コードに示すように、コードはhttp://developer.android.com/intl/zh-cn/guide/topics/ui/layout/relative.html
初めてidを宣言するときは、@+idを使用する必要がありますが、位置は必ずしも「android:id=」の後ではありません.
例えば18行目で「times」というidが初めて宣言されたので@+idが使用され、20行目ではそのまま@idが使用されます