Mono Works

チラシのすきま

メモ:「id="@+id/名前"」という構文について

画面レイアウトとリソースを定義するxmlファイルで使われる「id="@+id/名前"」がよく分からなかったので調べてみた。

<Button
  android:id="@+id/sendmail_button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="送信"
  />

この例だと、プロジェクトのビルド時に「sendmail_button」という名前でリソースIDを発行して、それと同時にR.javaファイルを生成して、そこにIDを自動登録してくれます。

R.javaファイルというのは、「R」クラスのソースファイルで、「res」フォルダ内のリソースをJavaコードから利用するためのリソースIDを保存するものです。

で、ちょっと悩んだのが「「id="@id/名前"」という形式で「+」マークがないものがあります。この形式だと、R.javaファイルへの登録がおこなわれません。すでに登録されているIDを参照する場合に使用するそうです。

javaファイルから「sendmail_button」IDを参照するには、こんな感じになります。

Button sendmail_button = (Button)findViewById(R.id.sendmail_button);

【参考サイト】

Layout Resource | Android Developers

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内