硬编码字符串“Button”,应该使用@string资源

时间:2012-10-01 17:37:28

标签: android-layout android-activity

我是Android应用开发和使用Java语言的新手。 我的问题是每次我制作TextView或Button时都会有一个带有感叹号的三角形。 当我点击它时,我看到一条消息说:

  

硬编码字符串“Button”,应该使用@string资源

我有两个活动,在我的主要活动中有一个按钮,当你点击它时你会进入第二个活动。 但是当我转到main.java为按钮创建代码时。始终存在以上显示的错误。我认为eclipse无法找到我的按钮的id,并且对于我的TextView,它们具有相同的错误消息。

这是我制作的代码:

Button b = FindViewById(R.id.button1);

我还补充说:

Button b = (Button) FindViewById(R.id.button1);

我正在使用最新的eclipse classic和ADT august问题。该平台是Android 4.1 API 16。

2 个答案:

答案 0 :(得分:12)

你不应该硬编码小部件上的“文本”使用字符串资源,即.string.xml中的字符串来设置文本。声明要在strings.xml中显示为字符串的“text”,并使用布局文件中的@ string / your_string_name访问它。

答案 1 :(得分:1)

Main.xml file (The xml file which relates to the main activity)

注意按钮的id,它以红色圆角。如果要在方法中调用它,则必须使用此ID,例如

Button b = (Button) FindViewById(R.id.button1);

此外,检查您的图形布局是否与我提供的图像匹配。

Graphical view of the Main.xml file

只需使用这些更改再次尝试您的代码。 你的main.java看起来像这样。

Main.java file