Rとは何ですか:
Rにはそれほど神秘的なものはありません。これは、多くの静的サブクラスを持つクラスであり、Eclipseで開き、(gen /の下で)調べます。
このクラスのすべてのメンバーは、1)静的最終クラス、または2)クラスの他のメンバーに関して一意である静的最終整数の2つのうちの1つです。
なぜそれがとても不可解なのですか:
Rはantによって自動的に生成されるため、混乱するのは簡単です。手動で「タッチ」することを想定していないため、その不可解な点があります(もちろん可能ですが、変更は再生時に自動的に消去されます)。Eclipseがandroidsの標準Rファイルを自動的にインポートする場合があるため、さらに暗号化されている(上記の回答で説明)
なぜそれが常に解決できない最初のものであるのですか? RはJavaクラスとパッケージのルールに正確に従っており、インポートに関してRがどのように動作するかについて特別なことは何もありません。Rは、マニフェストファイルのパッケージエントリで指定されたパッケージに自動的に配置されます
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package.which.will.contain.R.and.probably.the.main.package.in.the.application" android:versionName="8.6.2011" android:versionCode="1">
<uses-sdk android:minSdkVersion="13" />
Rファイルが属するパッケージを確認するには、eclipse(パッケージビュー)でgen /フォルダーを開きます。そこに1つのパッケージがリストされ、マニフェストで指定した名前が付いています。それを削除してみてください。すべてのリソースが正しい命名規則に従っており、すべてのxmlファイルが正しいxml規則に従っている場合、およびEclipseでビルドが自動的に有効になっている場合に戻ってきます。
Rファイルを理解するための鍵は、「メイン」パッケージに属する他のファイルとは異なるディレクトリにあるにもかかわらず、他のクラスと同じパッケージにあることを認識することです。これを理解し、リソースファイルの構文と名前を理解すれば、Rに関する問題のトラブルシューティングは簡単です。