NoSuchFieldError: нет статического поля listView1 типа I в классе Lcom / disdemo / R$id; или его суперклассы


У меня есть module1 (в Android Studio) с listView1 в activity_main.xml (присутствует в res модуля 1). Основная активность этого модуля запускается из другого module2 в том же проекте Android Studio.

Я попытался удалить module1 и снова создать новый с теми же файлами res и java. Тем не менее я получаю тот же вопрос.

5 55

5 ответов:

Я думаю, что у вас есть макет как в библиотеке, так и в модуле с тем же именем или раздуванием нескольких XML-макетов с дубликатом идентификатора ресурса.

Я activity_main.xml макет в одном из моих других модулей, а также, Так что я получал эту ошибку NoSuchField. Я переименовываю макет в одном из моих модулей, и это сработало.

вы должны использовать несколько модулей и дать одно и то же имя любого макета xml, а затем дать эту ошибку, поэтому, пожалуйста, переименуйте свой макет xml.

в обоих модулях у вас есть activity_main.xml. Пожалуйста, переименуйте один файл. Я надеюсь, что это поможет вам.

в моем случае были разные идентификаторы. Я нажал Build > Rebuild Project. Это потому, что я разделил res/layout в подпапки, и как перестал замечать изменения XML. Смотрите требуется перестроить после изменения файлов макета xml в Android Studio для сведения.