Android 修改 XML 并尝试运行后无法解析 R

Android Cannot Resolve R after modifying XML and trying to run

好吧,我完全迷失在这一点上。我看到还有关于此主题的其他帖子,但它们似乎没有解决我遇到的奇怪行为。

我在 Android Studio 1.0.1 中工作 我使用空白 activity 从模板开始了一个新项目。创建了一个包含以下内容的菜单文件:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:yourapp="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/edit_holidays"
   android:icon="@drawable/ic_launcher"
   android:title="@string/action_edit_holidays"
   yourapp:showasaction="ifRoom" />

</menu>

然后我去运行应用程序,它给了我一个未找到属性 'showasaction'... 消息

的资源标识符

但更糟糕的是,我注意到我的 MainActivity.java 文件下面突然出现了红色波浪形,检查后发现所有 'R' 引用都变成了红色,并带有 'cannot resolve R'

根据其他帖子,我添加了import.android.R,它没有出现,尽管它似乎解决了 R 的问题。但是,然后,对我的 xml 文件的调用变为红色且无法解析,例如

setContentView(R.layout.activity_main);

知道可能发生了什么以及如何解决它吗?

添加 android.R 导入不是正确的方法。您是否尝试过重建项目(Build -> Rebuild)?这应该重新生成 R 文件。我也认为大写可能很重要 - 在菜单 xml 文件中尝试 showAsAction 而不是 showasaction

如果在重建你之后,突然出现很多错误。然后你应该重新检查 XML 文件。如果它们没有被正确解析,无论出于何种原因(甚至可能是空行),项目都会变成红色(可以这么说)