android:text =“@ string / hello”和正常的右键单击 - >之间的区别文本视图组件 - >的EditText

时间:2012-04-23 10:37:49

标签: java android android-layout

当我在教程的帮助下工作时,我在textview android中发现了这个:text - " @ string / hello"它显示了一些错误。

然后我浏览了图形视图并右键单击该组件并输入文本。然后该错误删除并通知我

**Hardcoded string hello should use String resources**

3 个答案:

答案 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文件中。

helloname="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

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