NoSuchFieldError:类Lcom / disdemo / R $ id中没有类型I的静态字段listView1;或其超类


88

我有(在Android Studio中)带有listView1的module1 activity_main.xml(以module1的分辨率呈现)。该模块的MainActivity是从同一Android Studio项目中的另一个module2启动的。

我尝试删除module1,然后再次创建一个具有相同res和java文件的新模块。我仍然遇到同样的问题。


我已在settings.gradle和build.gradle中添加了该模块
Komal Gupta

14
我在其他模块之一中也有activity_main.xml布局,因此出现此NoSuchField错误。我在我的一个模块中重命名了布局,并且可以正常工作。
Komal Gupta

希望我能在48小时前阅读您的评论,因为2天后一直在努力解决这个问题!
玛尼2015年

2
我的情况有些不同,因为我已经将字符串资源从一个模块移到了另一个模块。就我而言,我只需要单击Android Studio中的Build> Clean即可解决此问题。
托尼·威克姆

是的,对您来说,这不是资源文件重复的问题,因此干净->构建有效。
2015年

Answers:


200

我认为您在库和模块中都具有相同名称的布局,或者使用重复的资源ID夸大多个xml布局。


4
是的,确实如此。我很快就知道了,但可悲的是,由于错误消息不够直观,因此浪费了很多时间。Android Studio应该开始记录更全面的错误消息。
Komal Gupta

6
听起来不错!现在您应该将其标记为已批准,这样可以帮助另一人解决此类问题。
JosephM

1
如果使用AS的refactor-rename,它将重命名所有出现的eg activity_main.xml,最好是手工完成。
serv-inc

由于应用和模块中具有相同名称的两个布局,我收到此错误。谢谢!
Sandeep Yohans

30

在两个模块中,您都有一个activity_main.xml。请重命名一个文件。

更新:@kundan kamal要表达的是,两个模块中都有一个名称相似的布局文件。


2
这浪费了3个小时:(.。您保存了我的一天
karthik kolanji,

8

您使用了多个模块,并给任何xml布局指定了相同的名称,然后出现此错误,因此请重命名xml布局。


谢谢。它有所帮助
Vigneswaran A


0

这种错误只对我发生过一次,但是有string资源。我在转换文件中配置了字符串,但在默认的字符串资源文件中没有配置,因此产生了崩溃。


0

让我正确如果我没看错...我想您在项目中拥有相同的库和模块名称,因此您必须重命名其中之一,然后才能正常工作

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.