如何解决这个问题的硬编码字符串?

时间:2015-12-07 09:44:24

标签: android

[I18N]硬编码字符串“生日快乐Debashish”,应该使用@string资源少...(Ctrl + F1)

直接在布局文件中硬编码文本属性对几个人来说是不好的         原因:*创建配置变体时(例如横向或         肖像)你必须重复实际的文本(并保持最新的时间         进行更改)*该应用程序无法翻译成其他语言         只需为现有字符串资源添加新翻译。在Android Studio中        和Eclipse有快速修正来自动提取这个硬编码字符串         进入资源查找。

enter image description here

5 个答案:

答案 0 :(得分:8)

这不是错误,而是警告。作为一般规则,您不应该在布局中使用硬编码字符串,而是始终使用字符串资源(这意味着所有字符串都存储在一个单独的文件中,在这些文件中,它们可以根据不同的语言轻松更改,等等。)

将硬编码的String转换为字符串ressource:

  • 将光标放在硬编码字符串
  • 按ALT + Enter
  • 输入您的资源名称
  • 点击确定

在你完成之后警告将会消失。祝你好运......

答案 1 :(得分:5)

This is just a warning.
Define your string in string.xml file

生日快乐Debashish

and in textView use this string as

 <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/string_name"
        />

答案 2 :(得分:2)

这只是一个警告,该功能仍将按预期工作。建议您将文本放在strings.xml文件中。这使得未来的更改变得更加简单,并且更容易在多个页面中引用。

首先将sting文件放在values/strings.xml中,如下所示:

&#13;
&#13;
<string name="your_string_name">Happy Birthday Debashish</string>
&#13;
&#13;
&#13;

然后将其调用到您想要使用的.xml文件中:

&#13;
&#13;
<TextView
        android:text="@strings/your_string_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
&#13;
&#13;
&#13;

同样不需要在此方法中执行此操作,只需要在将来管理和更改时更简单。

希望这有帮助!

答案 3 :(得分:1)

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title"
        tools:text="Happy Birthday Debashish" />

答案 4 :(得分:0)

当您使用2019版本时。转到strings.xml并将其添加到其中

<string name="Your text">Your Text</string>

在警告中,它具有修复按钮,您可以单击该按钮进行修复