3

我是 Android 编程新手。我花了很长时间试图在我的代码中查找“幻线断点”错误,直到我更改了字符串资源名称才弄清楚。

我有一个 options.xml 菜单,其中包含

<item android:id="@+id/menu_about"
    android:title="@string/menu_about"
    android:icon="@drawable/ic_menu_about"></item>

我的问题 - 我有@+id/menu_about @string/menu_about。这可能吗?

非常感谢你

4

4 回答 4

2

的,这是可能的,您可以检索R.string.menu_aboutR.id.menu_about.

并且在自动生成R.java中有不同的类。

于 2012-07-03T13:38:27.060 回答
1

@+id/menu_about 创建 id 为 "menu_about" 的 item 元素.... 代码中的 @string/menu_about 将标题设置为存储在值文件夹中的 strings.xml 文件中的任何内容(即 R.string.menu_about)

于 2012-07-03T13:41:57.463 回答
1

是的,这是可能的。

R.java 本身被组织成一些用于字符串、id、drawable 等的子类。可能有两个不同的资源具有相同的名称,因为它们将是不同类的成员。但是,您不能拥有两个具有相同名称的相同资源,例如名为“foo”的两个字符串。

于 2012-07-03T13:43:56.857 回答
0

是的,您可以提供与@+id&相同的名称@string

这两个都存储在不同的类中R.java。就像您声明@+id/menu_about这将存储在id课堂上一样。ETC..

于 2012-07-03T13:39:23.660 回答