I am working on a simple android application in eclipse IDE and I got a little yellow icon on the left hand side of a line of xml code that looks like a light bulb with an exclamation mark beside it. When I hovered over, it says "[I18N] Hardcoded string "input..., should use @string resource input". The running and debug was successful but I just want to get rid of it as I find it annoying. What should I do?
3 に答える
うるさいなら、それには理由があります。ハードコーディングされた文字列の代わりに @string リソースを完全に使用する必要があります。文字列を res/values/strings.xml に配置し、@string/my_string_id_here を介してレイアウトで参照するだけです。
これは、多言語サポートや複数形の文字列に非常に役立ちます。
詳細については、こちらをご覧ください。
これがあなたを助けることを願っています。
正しい方法:
提案されているように、すべての文字列をリソース ファイルに移動し、次のようにビューで参照します。@string/mystringname
反対に:
で Eclipse の Lint 警告をオフにします。Window/Preferences/Android/Lint Error Checking
どちらの方法でも、その厄介な三角形が削除されます:)
Android アプリの Java ソース コードに文字列をハードコーディングすることは推奨されないため、この警告が表示されます。正常にコンパイルされますが、Android Lintはそれについて文句を言うので、これは「エラー」ではなく「警告」です。通常は、別の「string.xml」ファイルで定義することをお勧めします。
理由を知りたい場合は、この回答を確認してください。例については、この回答
を確認してください。文字列リソース
の公式ドキュメントも参照してください。