当我在教程的帮助下工作时,我在textview android中发现了这个:text - " @ string / hello"它显示了一些错误。
然后我浏览了图形视图并右键单击该组件并输入文本。然后该错误删除并通知我
**Hardcoded string hello should use String resources**
答案 0 :(得分:5)
在android中,“@ string /”是指您的包浏览器中项目> res>值> 位置中的 string.xml 。
String.xml包含一个xml文件,该文件引用具有id的字符串。 例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World</string>
<string name="app_name">My app</string>
</resources>
这里name =“hello”是id&amp; “Hello World”是它的价值所在。使用@ string / hello时,将显示该值。
“@ drawable /”的情况类似。它将参考使用的图像。还有更多。
您可以通过编程方式在文本视图中设置文本。例如:
TextView tv = (TextView)findViewById(R.id.text1); //text1 is the id u provide in xml file
tv.setText("Hello World");
我希望它对你有所帮助。
答案 1 :(得分:1)
@string/hello
只需注意Android将String加载到位于/ values目录(strings.xml)的XML文件中。
hello
是name="hello"
指定给该XML的字符串的ID。
答案 2 :(得分:0)
Android Studio非常不稳定。以前,它会在string.xml
中自动生成相应的语句。使用以前版本的教程会让初学者陷入困境。
string.xml
如何运作 Android Studio希望您在string.xml
文件中的所有位置写入所有文本。在所有其他文件中,您只需输入缩写。 e.g。
android:text="@string/Hello_world"
表示在Hello_world
文件中找到缩写string.xml
,并将其替换为预期的文字。
在string.xml
中,应该写的相应陈述是:
<string name="Hello_world">Hello world!</string>
那应该可以胜任!
可以只写android:text="Hello world!"
(这就是硬编码)。如果你打算成为一个Android开发者,那么你就不会最大限度地提高效率。
string.xml
将所有文本放在一个文件中可以减轻很多事情。喜欢翻译,如果需要和容易改变。但是,您应该选择有意义的缩写!