Android Studio 2.1无法解析符号'R'

问题描述:

Android Studio 2.1, Java V8更新91,Gradle 2.1.0。Android Studio 2.1无法解析符号'R'

我知道这个问题已经在这里问了很多次,但没有一个推荐解决方案可行。

在编译准备好在Emulator上运行之后,我的IDE在R.id属性中出现错误。即使我不对文件进行任何更改,每个Java文件也会突然出现相同的错误。

我试图做一个新的项目,看看事情是否有所不同,但错误在继续。在我看来,这又可能是内部错误。即使我刚刚更新我的IDE。

Java文件;

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_science); 

    list_View = (ListView) findViewById(R.id.maintable); 
    String[] Days = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"}; 
    dayList.addAll(Arrays.asList(Days)); 
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dayList); 
    list_View.setAdapter(adapter); 

    NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this); 

    if (nfc.isEnabled()) { 
     adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dayList); 
     Toast.makeText(this, "NFC turned ON", Toast.LENGTH_SHORT).show(); 
    } 

    else { 
     Toast.makeText(this, "Please turn On NFC", Toast.LENGTH_SHORT).show(); 
    } 

} 

R是错误。

关联到Java的XML文件;

<ListView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/maintable" 
    > 
</ListView> 

这又是一个内部错误吗?

+0

请编辑您的问题,以显示包含你的'R'问题,整个类文件。请注意,您的Java堆栈跟踪与您的应用程序无关,更不用说您的“R”问题了。 – CommonsWare

+0

完成编辑java。 –

+0

这不是包含你的'R'问题的整个类文件。 – CommonsWare

即使在AS 2.1版本中,我也尝试将Gradle版本从2.1.0更改为2.0.0,忽略Instant Run性能及其工作。小R的错误现在消失了。现在,我试图改回2.1.0,R错误也消失了。有时这个小东西让我发疯,有点。

对我感到羞耻。

尝试同步的项目,转到工具>安卓>同步工程与摇篮文件

+1

也试着清理项目:Build> Clean Project。如果错误仍然存​​在,那么您的一个XML文件中可能有语法错误。 –

+0

我已经这样做了,事实上,在启动IDE时同步了项目。 –

+0

@InfiniteLoops同步失败吗?你有没有得到任何有用的错误信息? –

尝试执行一个干净的。如果您使用的是谷歌播放服务和你的compilesdk去Build > Clean ProjectBuild > Make Project

+0

仍然没有解决。仍然说,像我上面回复的错误。 –

重建版本低于23,然后下载新的sdk并更新您的编译版本。之后,尝试清洁和重建。它将被修复

+0

对不起,但我没有使用GPService。 –

也许错误可能会导致工具,尝试从工具> Android> SDK管理器安装Android SDK构建工具。 或者可能是由于将某个活动添加到与根不同的命名空间导致的此错误,您可以尝试>>导入com.example.MyApplication.R; 或者您也可以清洗O重建项目生成>清理项目或建立>重建项目

你试过重建项目去 构建>重建项目 并没有做清洁工程 我不得不执行它同样的问题&它为我工作

+0

没有。我做了清理,重建和同步......请看下面我自己的答案。 –

有时,当xml文件(如activity_main.xml)有一些错误时,不会创建R.java类。例如,如果更改某个属性名称,其中包含一个不能更改的保留字。 像这样:如果你改变了名为属性:在此代码,可以是activity_main.xml中的一部分ID到其他名称,如
id_A_Word_With_Error_Here,可能会出现你的错误(没有创建R类别)。

<android.support.v7.widget.RecyclerView 
      android:id="@+id/messageRecyclerView" 

,并有如下错误:

<android.support.v7.widget.RecyclerView 
      android:id_A_Word_With_Error_Here="@+id/messageRecyclerView" 

如果干净,重建没有工作,没有与像import com.something...进口没有错误,我的建议是错误搜索到XML文件。

我刚刚经历了这个噩梦。结束删除所有的xml代码记事本,直到它被修复。然后重新引入代码部分,直到出现问题。 回想一下,当我用写字板粘贴一些代码时,这一切都开始了。写字板显然包含一个不同的编码或其他东西,所以要避免。 无论如何,只需在xml中检查您的空白区域,将其全部删除即可清除任何隐藏的字符。

+0

我敢打赌现在这个问题已经解决了。 –

我已经看到了这个问题很多次了,正确的解决方案是:

,当你键入R,Android的工作室会给你很多差异命名空间R,看起来像R(***.***.***)选择,但你的真正需要的是命名空间以***.myProject(注意:myProject's是您的项目名称)结尾,例如:R(com.example.milka.demoProject)

如果选择其他的命名空间,你会得到错误信息,所以删除不需要import,并重新选择你R