为什么 Android Studio 会警告我添加 Android Studio 已经自动添加的代码?
Why does Android Studio give me warnings to add code that Android Studio already added automatically?
一旦我从 Palette drag/drop 一个按钮进入 XML 文件,Android Studio 在我点击 "Show Warnings and Errors" 时给我以下错误:
Message: [I18N] Hardcoded string "Button", should use `@string` resource Suggested Fixes:
- Extract string resource
- Suppress: Add tools:ignore="HardcodedText" attribute
在文本中的按钮代码中,当我 dragged/dropped 按钮进入 XML 文件时,以下 Android Studios 会自动进入:
android:text="Button"
我是否总是必须单击 "Suppress" 选择,因为我不知道他们希望我为 "Extract String Resource" 选择更改什么。还是要我更改 Android Studio 自动设置的代码?
您可以这样做而不是抑制:
在res/values/strings.xml
中添加字符串资源:
<string name="button_label">Button</string>
将上述资源设置为您 Button
:
的文本
android:text="@string/button_label"
这不是错误,这只是警告,表示您应该使用字符串资源,而不是代码中的硬编码字符串。但是你可以使用 harddcoded 字符串,一切都会正常工作。
使用 String 资源可以简化您的生活。例如,当您想要本地化您的应用程序时。见截图。
using string resources
您可以设置字符串资源。到 TextView.Text
,然后用名称 values, values-ru, values-uk
等创建几个 android resource directories
。
在这个目录中,您应该为每个目录创建文件 strings.xml
。
并像
一样覆盖你的字符串
<string name="message"> Message </string>
在 values
<string name="message"> Сообщение </string>
在 values-ru
等等
现在,如果您将设备语言从 en 更改为 ru,在您的应用中 textView
将被写入 "Сообщение"
它在其他几种情况下也很有用。
Message: [I18N] Hardcoded string "Button", should use @string
resource
建议的修复:
- 提取字符串资源
您应该始终从 res/values/strings.xml 中的 string.xml 中选择字符串。这不是对字符串进行硬编码的正确方法,将其放入 string.xml 文件有助于将来 本地化 。
- 添加tools:ignore="HardcodedText"属性
当您使用工具时,它实际上并没有设置要查看的文本,而只是在预览 window 中显示它的视觉效果,当您 运行 应用程序时,您不会在工具中添加文本。
一旦我从 Palette drag/drop 一个按钮进入 XML 文件,Android Studio 在我点击 "Show Warnings and Errors" 时给我以下错误:
Message: [I18N] Hardcoded string "Button", should use `@string` resource Suggested Fixes:
- Extract string resource
- Suppress: Add tools:ignore="HardcodedText" attribute
在文本中的按钮代码中,当我 dragged/dropped 按钮进入 XML 文件时,以下 Android Studios 会自动进入:
android:text="Button"
我是否总是必须单击 "Suppress" 选择,因为我不知道他们希望我为 "Extract String Resource" 选择更改什么。还是要我更改 Android Studio 自动设置的代码?
您可以这样做而不是抑制:
在
res/values/strings.xml
中添加字符串资源:<string name="button_label">Button</string>
将上述资源设置为您
的文本Button
:android:text="@string/button_label"
这不是错误,这只是警告,表示您应该使用字符串资源,而不是代码中的硬编码字符串。但是你可以使用 harddcoded 字符串,一切都会正常工作。
使用 String 资源可以简化您的生活。例如,当您想要本地化您的应用程序时。见截图。
using string resources
您可以设置字符串资源。到 TextView.Text
,然后用名称 values, values-ru, values-uk
等创建几个 android resource directories
。
在这个目录中,您应该为每个目录创建文件 strings.xml
。
并像
<string name="message"> Message </string>
在 values
<string name="message"> Сообщение </string>
在 values-ru
等等
现在,如果您将设备语言从 en 更改为 ru,在您的应用中 textView
将被写入 "Сообщение"
它在其他几种情况下也很有用。
Message: [I18N] Hardcoded string "Button", should use
@string
resource
建议的修复:
- 提取字符串资源
您应该始终从 res/values/strings.xml 中的 string.xml 中选择字符串。这不是对字符串进行硬编码的正确方法,将其放入 string.xml 文件有助于将来 本地化 。
- 添加tools:ignore="HardcodedText"属性
当您使用工具时,它实际上并没有设置要查看的文本,而只是在预览 window 中显示它的视觉效果,当您 运行 应用程序时,您不会在工具中添加文本。