意外同步Gradle后,Android Studio找不到R.java



在安卓工作室工作时,我不小心点击了工具栏中的"用渐变文件同步项目"按钮。现在,R的所有实例都以红色突出显示为"无法解析符号R"。此外,除了目录结构工具栏中的应用程序名称外,所有文件夹都有红色下划线,我收到一条消息,说在我的一个XML布局文件中找不到三个选中单选按钮的ID(尽管它们在下面几行)。项目结构中甚至没有R.java。重新启动Android Studio并没有解决此问题;也没有再按同一个按钮。

编辑:我本希望能够将我的所有文件复制到一个新项目中,但这个问题在新项目中仍然存在。

这是我的XML文件;我已经删除了默认选中的按钮:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:screenOrientation="landscape"
    tools:context="com.cmpt276.darren.minions.OptionsMenu">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:id="@+id/linearLayout2">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_rows"
            android:id="@+id/textView8"
            android:layout_alignParentBottom="true"
            android:layout_alignParentStart="true" />
        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <!--//android:checkedButton="@id/rows3"-->
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows3"
                android:id="@+id/rows3" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows4"
                android:id="@+id/rows4" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/rows8"
                android:id="@+id/rows8" />
        </RadioGroup>

    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_minions"
            android:id="@+id/textView9" />
        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <!--android:checkedButton="@id/numMinions6"-->
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_6"
            android:id="@+id/numMinions6" />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_10"
            android:id="@+id/numMinions10" />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_15"
            android:id="@+id/numMinions15" />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/minions_20"
            android:id="@+id/numMinions20" />
        </RadioGroup>
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_columns"
            android:id="@+id/textView10"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true" />
        <RadioGroup android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/num_columns">
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns4"
                android:id="@+id/columns4" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns6"
                android:id="@+id/columns8" />
            <RadioButton
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/columns12"
                android:id="@+id/columns12" />
        </RadioGroup>
    </LinearLayout>
</RelativeLayout>

请参阅此处的

XML问题将阻止生成R文件。因此,如果用梳子梳理一下是理想的选择。在您的代码中

<RadioGroup android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checkedButton="@id/rows3"// error line
        >
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows3"
            android:id="@+id/rows3" />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows4"
            android:id="@+id/rows4" />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/rows8"
            android:id="@+id/rows8" />
    </RadioGroup>

错误行当前引用的是当前尚未分配的id。这会在xml中创建并出错,因此R不是buil。

此解决方案表明您需要将该属性称为

  android:checkedButton="@+id/rows3"//

这应该行得通。否则请以编程方式定义它。这样可以避免任何此类问题。

已经在这里回答了这个问题:
安卓工作室:渐变构建问题/";R可以';无法解决";

部分答案:

  1. 听着,如果您没有在xml文件中编写任何代码,那么只需单击"重建"或"制作项目"按钮或"清除"按钮。你的问题可能是解决
  2. 如果修改xxxxx.xml布局文件,请查看这些文件并我确信你写错了代码。就像主题名称问题一样,字符串、二角体、颜色的任何引用问题等等。更正它们,可能是您的R无法解决的文本已解决。显然,完成此操作后,单击"制作项目"按钮并可以证明没有错误

最新更新