刚刚在机器人教程中完成了hello world并尝试在main.xml文件中按下按钮后立即添加按钮保存文件我得到黄色警告
[I18N]硬编码字符串“Button”,保存文件后应该使用@string资源
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
答案 0 :(得分:1)
警告不会阻止您执行代码。它仍然告诉你在Android中不鼓励在布局中使用硬编码字符串。如果您想避免这种情况,则需要在strings.xml
文件夹中创建文件res\values
并添加以下内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="button_string">Button</string>
</resources>
之后更改您的布局文件:
...
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_string" />
约定是导出刚刚创建的此文件中的所有文字字符串。这样,国际化代码也会更容易。
顺便说一下,你已经有了在文本视图中使用字符串的示例,所以只需在那里添加另一个常量。