在R.java中未声明重命名的xml文件

时间:2012-02-23 14:27:26

标签: android xml menu android-actionbar

我正在自定义一个操作栏,我正在使用inflater和样式。

我在项目中的菜单文件夹中添加了menu.xml,我将其扩展到了onOptionsMenu, menu.xml包含操作栏项目。

一切正常,直到我使用折射器renamed menu.xmlactionBar_menu.xml

现在我甚至无法将它添加到Inflater。它甚至没有在R.java中声明

如何解决任何提示或解决方案的问题?

谢谢

编辑:

谢谢你们的答案。

我按照你的要求做了,所以我将操作栏更改为actionb_menu.xml,但它仍无效。

否则它现在在R.java中声明,但是eclipse编辑器无法识别它 (ctrl + space),即使我忽略了这一点并继续在inflater中键入文件的名称,它仍然作为错误加下划线。

任何解决方案?

5 个答案:

答案 0 :(得分:1)

您的原始问题是:您只能在布局XML文件名中使用小写字母,数字和下划线。如@midoalageb所述

这是您编辑的答案

因为当您尝试

时,您的ID最初不在您的R.java中
 R.id.....

eclipse已将android.R;导入您的类文件。

您需要在文件顶部删除此导入:

 import android.R;

然后尝试做:

 R.id.whatever

一次。在R.后按ctrl + space确保选择com.your.package.R而非android.R

答案 1 :(得分:1)

嘿hosni habeby看起来像这样, 打开你命名的新文件,然后转到

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.something. app.OldJava" />    

并将上下文值替换为您重新命名的新文件..像这样

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.something. app.MyNewActivityJava" />     

在eclipse中你改变了java文件的名字而且它是xml .. eclipse不会触及xml中的值所以我们必须改变它自己也是eclipse会添加一个导入行可能不会引用你的R文件..如果所以删除它并键入一个引用您的项目的R文件而不是Android或任何库

答案 2 :(得分:0)

您只能在布局XML文件名中使用小写字母,数字和下划线。因此,请将您的文件重命名为actionbar_menu.xml

答案 3 :(得分:0)

右键单击Project。首先刷新它 - &gt;然后清理它 - &gt;然后重建它 - >如果有必要的代码更改,那么就这样做 - &gt;它应该工作。

还在所有小案例中重命名

答案 4 :(得分:0)

尝试清理项目。如果它仍然说R无法解析那么xml文件应该有问题。检查您的xml文件中是否有一些您输错的额外字符或类似的内容。即使一个xml文件有错误,也不会构建您的R文件!