[解決済み] Androidにおける"@id/"と"@+id/"の違いについて
質問
<ブロッククオート
とはどのような違いがあるのでしょうか?
@id/
と
@+id/
?
で
@+id/
プラス記号
+
は、新しいリソース名を作成し、それを
R.java
ファイルですが
@id/
? のドキュメントより
ID
: Android のリソースを参照する場合
ID
のように、プラス記号は必要ありませんが、androidパッケージの名前空間を追加する必要があります。
android:id="@android:id/list"
しかし、下の画像では、Eclipseはいかなる種類の
@android:id/
.
Are
@id/
と@android:id/
は同じですか?
解決方法は?
を参照してください。
Android resources
で、これはAndroidシステムですでに定義されています。
@android:id/..
一方、プロジェクトで定義/作成したリソースにアクセスするためには
@id/..
その他の情報
チャットでの説明の通り、あなたはこのような問題があると言いました。
<ブロッククオート
もし
android:id="@id/layout_item_id"
はうまくいきません。 代わりに
@+id/
は動作するのですが、この違いは何でしょうか? というのが最初の疑問でした。
まあ、文脈にもよりますが、XML属性で
android:id
に新しいエントリーを作成するようパーサー(ビルダーと呼ぶこともあります)に指示しているのです。
R.java
従って
+
の記号を使用します。
一方、他のケースでは、例えば
android:layout_below="@id/myTextView"
で、すでに作成された ID を参照しているので、パーサはこれをすでに作成された ID にリンクします。
R.java
.
もう一度詳しく
チャットでおっしゃっていたように、注意してください
android:layout_below="@id/myTextView"
を持つ要素は認識されません。
myTextView
が、使用する要素の後に書かれている場合。
関連
-
Androidのadbデバイスがオフラインであることが判明
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
Android: インポートモジュールエラー Android リソースのリンクに失敗しました
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
[解決済み] アイテムの親を取得する際にエラーが発生しました。AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりません。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] compileSdkVersionとtargetSdkVersionの違いは何ですか?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
Android開発で「Attempt to invoke virtual method 'XXX()' on null object reference」というヌルポインター例外に遭遇する。
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
repo: コマンドが見つかりません
-
view.getRootView()の本当の意味とテストについて
-
Android ProgressBarのスタイルカラーを変更する