NoSuchFieldError: Brak pola statycznego listView1 typu I w klasie Lcom / disdemo / R $ id; lub jego nadklasy


89

Mam module1 (w Android Studio) z listView1 w activity_main.xml(obecny w res z module1). MainActivity tego modułu jest uruchamiane z innego modułu2 w tym samym projekcie Android Studio.

Próbowałem usunąć module1 i ponownie utworzyć nowy z tymi samymi plikami res i java. Nadal mam ten sam problem.


Dodałem moduł w settings.gradle i build.gradle
Komal Gupta

14
Miałem układ activity_main.xml również w jednym z moich pozostałych modułów, więc otrzymywałem ten błąd NoSuchField. Zmieniłem nazwę układu w jednym z moich modułów i zadziałało.
Komal Gupta

Żałuję, że nie przeczytałem twojego komentarza 48 godzin temu, borykał się z tym problemem od 2 dni wstecz !!
Mani

2
Mój przypadek był trochę inny, ponieważ przeniosłem zasób ciągu z jednego modułu do drugiego. W moim przypadku wystarczyło kliknąć Build> Clean w Android Studio, aby naprawić problem.
Tony Wickham

Tak, dla ciebie to nie był problem z duplikatem pliku zasobów, więc czysty -> kompilacja działała.
Komal Gupta

Odpowiedzi:


202

Myślę, że masz układ zarówno w bibliotece, jak iw module o tej samej nazwie lub nadmuchiwaniu wielu układów xml ze zduplikowanym identyfikatorem zasobu.


4
Tak, dokładnie tak było. Szybko się zorientowałem, ale smutne jest to, że zmarnowałem dużo czasu, ponieważ komunikat o błędzie nie był wystarczająco intuicyjny. Android Studio powinno rozpocząć rejestrowanie bardziej szczegółowych komunikatów o błędach.
Komal Gupta

7
Brzmi dobrze! teraz powinieneś oznaczyć go jako zatwierdzony, aby pomóc innemu w rozwiązaniu tego typu problemu.
JosephM

1
Jeśli używasz refactor-rename AS, zmienia nazwy wszystkich wystąpień, np. activity_main.xmlLepiej zrób to ręcznie.
serv-inc

Otrzymałem ten błąd z powodu dwóch układów o tej samej nazwie w aplikacji i module. Dzięki!
Sandeep Yohans

31

W obu modułach masz plik activity_main.xml. Zmień nazwę jednego pliku.

Aktualizacja: @kundan kamal chce wyrazić, że masz plik układu w obu modułach o podobnej nazwie.


2
to zmarnowane przez 3 godziny :(.
ratujesz

8

używasz wielu modułów i nadaj tę samą nazwę dowolnemu układowi xml, a następnie podaj ten błąd, więc zmień nazwę układu xml.


Dzięki. Pomogło
Vigneswaran A


0

Ten rodzaj błędu przytrafił mi się kiedyś, ale z stringzasobem. Miałem ciąg skonfigurowany w pliku tłumaczenia, ale nie w domyślnym pliku zasobów ciągu, więc spowodowało to awarię.


0

Popraw mnie Jeśli się nie mylę ... Myślę, że masz taką samą nazwę swojej biblioteki i modułu w swoim projekcie, więc musisz zmienić nazwę jednego z nich, to działa dobrze

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.