NoSuchFieldError: Немає списку статичних полівView1 типу I у класі Lcom / disdemo / R $ id; або його суперкласи


89

У мене є module1 (в Android Studio) з listView1 в activity_main.xml(присутній в res модуля1). MainActivity цього модуля запускається з іншого модуля2 у тому ж проекті Android Studio.

Я спробував видалити модуль1 і знову створити новий із однаковими файлами res і java. І все одно я отримую те саме питання.


Я додав модуль в settings.gradle та build.gradle
Gupta

14
Я мав макет Activity_main.xml і в одному з моїх інших модулів, тому я отримував цю помилку NoSuchField. Я перейменовую макет в одному зі своїх модулів, і він спрацював.
Комал Гупта,

Я хотів би прочитати ваш коментар 48 годин тому, боровся з цією проблемою ще 2 дні тому !!
Мані

2
Мій випадок був дещо іншим, оскільки я перемістив рядковий ресурс з одного модуля в інший. У моєму випадку мені просто довелося натиснути «Збірка»> «Очистити» в Android Studio, щоб вирішити проблему.
Тоні Вікхем

Так, для вас це не було проблемою дублікату файлу ресурсу, тому чиста -> побудова працювала.
Комал Гупта

Відповіді:


202

Я думаю, у вас є макет як у бібліотеці, так і в модулі з однаковим ім’ям, або роздуття декількох макетів xml із повторюваним ідентифікатором ресурсу.


4
Так, саме так було. Я зрозумів це незабаром, але сумно, що на це було витрачено багато часу, оскільки повідомлення про помилку було недостатньо інтуїтивним. Android Studio повинен почати реєструвати більш вичерпні повідомлення про помилки.
Комал Гупта

6
звучить добре! тепер ви повинні позначити його як схвалений, щоб це могло допомогти іншому вирішити подібний тип проблеми.
JosephM

1
Якщо ви використовуєте рефактор-перейменування AS, він перейменовує всі випадки, наприклад activity_main.xml, краще робити це вручну.
serv-inc

Я отримав цю помилку через два макети з однаковим іменем у програмі та модулі. Дякую!
Sandeep Yohans

30

В обох модулях у вас є файл activity_main.xml. Будь ласка, перейменуйте один файл.

Оновлення: те, що @kundan kamal хоче висловити, це те, що у вас є файл макета в обох модулях з подібною назвою.


2
це даремно витрачено на 3 години :(. ти врятуєш мій день
karthik kolanji

8

ви використовуєте декілька модулів і даєте одне і те ж ім'я будь-якому макету xml, а потім дайте цю помилку, тому, будь ласка, перейменуйте ваш макет xml.


Дякую. Це допомогло
Vigneswaran,


0

Такий тип помилки трапився зі мною одного разу, але з stringресурсом. Мені було налаштовано рядок у файлі перекладу, але не у файлі ресурсу рядка за замовчуванням, тому це спричинило збій.


0

Зробіть мене правильним. Якщо я не помиляюсь ... Я думаю, у вас однакова назва бібліотеки та модуля у вашому проекті, тож вам доведеться перейменувати один із них, тоді його робота буде нормальною

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.