@+idの解説 - Android StudioでJAVA Kotlnプログラミング
@+id
初めてAndroid Studioでプログラミングをしていると「android:id="@+id/任意のテキスト"」という文を.xmlのレイアウトファイルに記述することになります。
「@+idとは何だ?」
誰も疑問に思わないのでしょうか?
googleで検索してみても@+id/hogeそのものについての説明はありません。Androidの“ @ id /”と“ @ + id /”の違いについては既に説明されたページがありました。@+idはidを作成するための、@id/は既に作られたidを参照するための書き方です。
使い方としては、idは記述するとどこかで管理されているような気がします。
id属性
id属性はAndroidのアプリを開発する時にxmlの中で要素を特定するためのものです。詳しい説明は他の方が述べられている「[Android] android:id属性について: http://www.programing-style.com/android/android-api/android-attributes-id/(外部ページ)」が参考になります。
このidは、少なくとも同一のレイアウトxmlの中においてはユニーク(他と同じではなく、個別の)でなければなりません。
ID
idについてはAndroid Developer公式サイト「レイアウト」についてのページ(外部リンク)が参考になります。IDはリソースIDと言います。ViewGroupアプリケーションのへの参照を取得するために使用できる要素の一意のリソース名のことです。
ツリー内で View を一意に識別するために、すべての View オブジェクトには、それに関連付けられた整数の ID があることがあります。アプリケーションがコンパイルされると、この ID は整数として参照されますが、一般的にその ID は id 属性で文字列としてレイアウト XML ファイルに割り当てられます。これは、すべての View オブジェクトに共通の XML 属性で(View クラスで定義)、非常に頻繁に使用されます。XML タグ内の ID の構文を次に示します。
android:id="@+id/任意のID"
文字列の先頭にあるアットマーク(@)は、その XML パーサーが ID の残りの文字列をパースして展開し、それを ID リソースとして識別する必要があることを示します。 プラス記号(+)は、それが新しいリソース名で、作成してリソースに追加する(R.java ファイル内で)必要があることを意味しています。 Android フレームワークによって提供されるその他のさまざまな ID リソースがあります。 Android リソース ID を参照するときは、プラス記号を使う必要はありませんが、次のように android パッケージ名前空間を追加する必要があります。
android:id="@android:id/任意のID"
android パッケージ名前空間付きの場合、ローカルのリソースクラスからではなく android.R リソースクラスから ID を参照するようになります。
手順
idはボタンなどのレイアウトxmlファイルで定義します。呼び出しはjavaまたはktファイルで行います。関連記事
- Android Studio 3.3 誕生日リマインダーアプリ制作記 [メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません]のエラーで躓く
- アプリで外国語(多言語)をサポートする Android Studio 3.3でプログラミング
- スマホの画面の回転への対応 Android Studio 3.3でJAVAプログラミング
コメント
コメントを投稿