NoSuchFieldError: Nenhum campo estático listView1 do tipo I na classe Lcom / disdemo / R $ id; ou suas superclasses

88

Tenho module1 (no Android Studio) com listView1 em activity_main.xml(presente no res do module1). A MainActivity deste módulo está sendo iniciada a partir de outro módulo2 no mesmo projeto Android Studio.

Tentei excluir o module1 e criar um novo com os mesmos arquivos res e java. Ainda estou tendo o mesmo problema.

Komal Gupta
fonte
Eu adicionei o módulo em settings.gradle e build.gradle
Komal Gupta
14
Eu tinha o layout activity_main.xml em um dos meus outros módulos também, então estava recebendo este erro NoSuchField. Eu renomei o layout em um dos meus módulos e funcionou.
Komal Gupta
Eu gostaria de ler seu comentário 48 horas atrás, Estava lutando com esse problema há 2 dias!
Mani,
2
Meu caso foi um pouco diferente, já que movi um recurso de string de um módulo para outro. No meu caso, eu só tive que clicar em Build> Clean no Android Studio para corrigir o problema.
Tony Wickham,
Sim, para você não era um problema de arquivo de recurso duplicado, então limpo -> compilar funcionou.
Komal Gupta,

Respostas:

200

Acho que você tem um layout na biblioteca e no módulo com o mesmo nome ou inflando vários layouts xml com id de recurso duplicado.

JosephM
fonte
4
Sim, exatamente esse foi o caso. Eu descobri logo, mas o triste é que muito tempo foi perdido com isso, pois a mensagem de erro não era intuitiva o suficiente. O Android Studio deve começar a registrar mensagens de erro mais abrangentes.
Komal Gupta de
6
parece bom! agora você deve marcá-lo como aprovado para que isso possa ajudar outra pessoa a resolver esse tipo de problema.
JosephM de
1
Se você usar o refactor-rename do AS, ele renomeia todas as ocorrências de activity_main.xml, por exemplo , melhor fazê-lo manualmente.
serv-inc
Eu estava recebendo este erro devido a dois layouts com o mesmo nome no aplicativo e no módulo. Obrigado!
Sandeep Yohans
30

Em ambos os módulos, você tem um activity_main.xml. Renomeie um arquivo.

Atualização: O que @kundan kamal quer expressar é que você tem um arquivo de layout em ambos os módulos com um nome semelhante.

kundan kamal
fonte
2
isso foi desperdiçado por 3 horas :(. você salva meu dia
karthik kolanji
8

você usou vários módulos e deu o mesmo nome para qualquer layout xml, em seguida, deu este erro, então renomeie seu layout xml.

user7176550
fonte
Obrigado. Ajudou
Vigneswaran A
0

Esse tipo de erro aconteceu uma vez comigo, mas com um stringrecurso. Eu tinha a string configurada em um arquivo de tradução, mas não no arquivo de recurso de string padrão, então isso produziu o travamento.

Blastervla
fonte
0

Me corrija Se eu não estiver errado ... Eu acho que você tem o mesmo nome de sua biblioteca e módulo em seu projeto, então você tem que renomear um deles, então funciona bem

Mannu saraswat
fonte