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.