は、私はエラーのために私のプロジェクトをビルドすることはできませんエラー:無効なシンボルが私のstrings.xmlファイルで
<string name="continue">Continue</string>
持って「継続」:「無効な記号: 『を続けます』」。なぜ私はそのような名前を使用できないのですか?
は、私はエラーのために私のプロジェクトをビルドすることはできませんエラー:無効なシンボルが私のstrings.xmlファイルで
<string name="continue">Continue</string>
持って「継続」:「無効な記号: 『を続けます』」。なぜ私はそのような名前を使用できないのですか?
continue
はJavaの予約シンボルなので、XMLファイルやJavaコード内のオブジェクトの名前として使用することはできません。
これが問題になる理由は、プロジェクトで定義されたXMLが、Dalvik VMが理解できるJavaコードに変換されるためです。だから、あなたのコードは、上記のR.javaに次のように変換:
public final class R {
public static final class string {
public static final int continue=0x7f040000;
}
}
調べるとき、問題はより明白である(自称)のコードを生成しました。
他の人には避けるためにlist of reserved Java symbolsを参照してください。
"continue"はJavaキーワードであり、R.javaはコンパイルされません。
public static final int continue=0x7f040001;
上記のコードは、「トークンに構文エラーが 『継続』、無効VariableDeclaratorId」エラーが発生します。
ヒントのために本当にありがとう。私は、名前を続けて私のアプリで続行ボタンを使用しようとしていた今、なぜ私のR.javaが生成されなかったのか知っています。 –
それでは回避策はありますか?私は同じ問題に直面していますが、私の場合、文字列は "無効"です。書くのを避けることはできません。 – Gem
文字列* contents *はキーワードですが、* 'name'属性*はキーワードにすることはできません。したがって、 ' Void 'は動作しませんが、 ' Void 'は問題ありません。 –