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

将所有文本放在一个文件中可以简化许多事情。 喜欢翻译,如果需要和容易改变。 但是,您应该选择有意义的缩写!