在Android Studio中工作时,我不小心点击了按钮"使用Gradle文件同步项目"在工具栏中。现在R的所有实例都以红色突出显示为"无法解析符号R"。此外,目录结构工具栏中的所有文件夹,但应用程序名称都带有红色下划线,并且我有一条消息说我的XML布局文件中的三个已检查单选按钮的ID无法找到(即使它们& #39;下面几行)。项目结构中的任何地方甚至都没有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>
答案 0 :(得分:1)
参考here
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不会构建。
This解决方案表明您需要将该属性称为
android:checkedButton="@+id/rows3"//
这应该可行。或者其他请以编程方式定义。这样可以避免任何此类问题。
答案 1 :(得分:0)
这里已经回答了这个问题:
Android Studio: Gradle Build Problems/"R can't be resolved"
答案的一部分: