android:text =“@ string / hello”和普通右键单击 – >文本视图组件 – > EditText之间的区别
当我在教程的帮助下工作时,我发现这在textview android:text – “@ string / hello”中显示了一些错误。
然后我浏览了图形视图并右键单击该组件并输入文本。 然后该错误删除并通知我
**Hardcoded string hello should use String resources**
在android中,“@ string /”指的是包浏览器中Project> res> values> location中的string.xml 。
String.xml包含一个xml文件,该文件引用具有id的字符串。 例如:
Hello World My app
这里name =“hello”是id&“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");
我希望它对你有帮助。
@string/hello
只是注意到Android将String加载到位于/ values目录(strings.xml)的XML文件中。
hello
是由name="hello"
指定到该XML中的String的ID。
Android Studio非常不稳定。 以前,它会自动在string.xml
生成相应的语句。 使用以前版本的教程会让初学者陷入困境。
string.xml
工作原理
Android Studio希望您在string.xml
文件中的所有文本中编写所有文本。 在所有其他文件中,您只需输入缩写。 例如
android:text="@string/Hello_world"
意味着在string.xml
文件中找到缩写Hello_world
并将其替换为预期的文本。
在string.xml
,应该写的相应语句是:
Hello world!
那应该做的!
有可能只写android:text="Hello world!"
(这就是硬编码)。 如果你打算成为一个Android开发者,那么你就不会最大限度地提高效率。
为什么? string.xml
将所有文本放在一个文件中可以简化许多事情。 喜欢翻译,如果需要和容易改变。 但是,您应该选择有意义的缩写!