Подтвердить что ты не робот

Не удается найти R.layout.activity_main

Я пытался работать с несколькими макетами, используя некоторые онлайн-уроки. Дело в том, что моя программа строилась и компилировалась правильно, пока был только один файл XML. Когда я добавил несколько XML файлов, я получаю ошибки, говоря: "activity_main не может быть разрешен или не является полем" для строки setContentView(R.layout.activity_main);

Фактически, каждый элемент, который я использовал ранее в R.*, теперь сообщает об ошибке. Я не знаю, что пошло не так. Кто-нибудь может предложить, что нужно сделать?

Изменить 1: Я пробовал очистить и перестроить проект, но это не помогло. Кроме того, я импортирую правильный файл R.java, как в mypackage.R.java

В соответствии с комментарием @RubberDuck, я сразу же удалил файлы, после создания проекта создавался файл R.java. Однако, когда я создаю новые файлы XML и добавляю в него элементы, создайте проект, R.java будет удален.

4b9b3361

Ответ 1

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

Ответ 2

У меня была та же проблема, исправленная путем замены R на com.example.appname.R очевидно, вместо этого поместил туда ссылку на ваш пакет. Или просто добавьте эту строку в ваш файл:

import com.your.package.R

Или, что еще лучше, попробуйте удалить эту строку из кода, если она существует:

import android.support.compat.R

Ответ 3

Проверьте, не случайно ли вы импортировали android.R.

Ответ 4

Глупый ошибкой, которую я совершил, чтобы вызвать эту ошибку, была неправильная строка package в моем файле AndroidManifest.xml. Я оставил строку в учебнике, но использовал ее при настройке проекта.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="COM.YOU.YOURAPPNAME"
android:versionCode="1"
android:versionName="1.0" >

Ответ 5

Вы импортируете недействительный класс R, импортировать yourpackage.R класс например com.example.R

что действительно происходит, что и импортировать android.R класс не yourpackages.R

Ответ 6

Ivwd просто удалил строку "import android.R;" и позвоните в Project- > Clean... Этого было достаточно для моих Win-7/x64 и Eclipse Kepler и последнего (02.2014) Android SDK

Ответ 7

goto tools- > android- > Проект синхронизации с файлом gradle затем нажмите S

Ответ 8

В моем случае я случайно импортировал свою библиотеку R. класс, а не модуль приложения R. После редактирования это решается.

Ответ 9

Вероятно, есть проблема с файлами макета, исправьте его, и появится автоматически созданный класс.

Ответ 10

У меня есть несколько предложений:

  • Убедитесь, что у вас нет других ошибок, кроме ошибок, связанных с R. Щелкните правой кнопкой мыши папку вашего проекта в Eclipse, Android Tools → Fix Project Properties.

    2.Проверьте, чтобы убедиться, что вы импортировали правильный R. Иногда можно импортировать по умолчанию Android.R.

    3. Проверьте наличие ошибок в XML файлах макета.

Ответ 11

Благодаря комментарию @RubberDuck и ответом @Emil я смог выяснить, в чем проблема. Идентификатор большинства элементов в моем XML файле был точно таким же. Итак, я переименовал каждого из них. Кроме того, в моем XML файле были заглавные буквы. Имя файла должно быть в [a-z0-9_], поэтому я также переименовал свои файлы и проблема была решена.

Ответ 12

Это решило мою проблему,

apt-get install ia32-libs

и перезапустите:)

Android adb не найден

Ответ 13

или вы можете написать

import.R.layout//наверху

Это будет работать наверняка

Ответ 14

Я использовал maven как инструмент сборки, после того, как я построил свой проект и многому раскапывал в интернет для решения. Моя проблема решена путем добавления к main_activity.xml

инструменты: контекст = "MainActivity"

Ответ 15

У меня есть это, когда к значениям /strings.xml добавлен несоответствующий символ (/-one slash), и, конечно же, переименование проблемного ресурса было полезным. И еще одна важная вещь - проверьте дату и время на вашем устройстве.

Ответ 16

ТОЛЬКО УДАЛИТЬ import.android.R;

Затем R.layout. (XML LAYOUTNAME) превратится в BLUE

IT TOOK ME ЧАСЫ НАЙТИ ЭТУ ОДНУ ОШИБКУ

Ответ 17

У меня была аналогичная проблема.
Это произошло внезапно, после удаления некоторых снимков из res. вытяжка. Я сделал две вещи.

  • Сначала я проверил все мои изображения в папке с возможностью переноса, если у всех их есть предварительный просмотр. один из моих был поврежден.
  • Во-вторых, я закрыл все открытые студии и эмулятора Android. После этого все работало нормально.

Ответ 18

В Android Studio перейдите в ToolsAndroidSync project with gradle files или FileSync project with gradle files в последней версии Android Studio.

Ответ 19

Случилось один раз. Не знаю причины.

Build > Clean Project удалил ошибку для меня.

Ответ 20

Либо ваш gradle, либо build должны знать, где находятся ресурсы.

Ответ 21

в 2019 году я столкнулся с той же проблемой, и я искал в Интернете и обнаружил следующее, которым делюсь со всеми.

В Android Studio буква R обозначает ресурсы, и эта ошибка возникает из-за того, что процесс сборки не может синхронизировать ресурсы с вашим проектом. Другими словами, эта ошибка возникает, когда Android Studio не может правильно сгенерировать файл R.java. Эта проблема возникает, когда вы перемещаете код в другую систему или при первом создании проекта Android. Поэтому, когда вы создаете новый вид деятельности или новый класс, вы увидите сообщение об ошибке типа "не удается разрешить символ r" с красным подчеркиванием.

Ниже вы можете найти возможные способы устранения проблемы с разрешением символа r в Android Studio.

Обновить Project Gradle до последней версии Всегда используйте последнюю версию Gradle для правильной работы Android Studio.

Синхронизировать проект с файлом Gradle Как только вы обновите плагин Gradle, вам нужно синхронизировать проект с файлом Gradle. Откройте android studio и выберите Файлы> Синхронизировать проект с файлами Gradle.

Очистить и восстановить проект Наиболее эффективное решение - самое простое: очистите и восстановите ваш проект. Выберите "Построить"> "Очистить проект" на панели инструментов Android Studio, подождите несколько секунд, а затем создайте свой проект, выбрав "Построить"> "Перестроить проект".

Недействительные кэши/перезапуск Если вы столкнулись с этой ошибкой после перемещения некоторых файлов и каталогов, возможно, ошибка R.layout вызвана несоответствием между кэшем Android Studios и текущим макетом ваших проектов. Если вы подозреваете, что это может быть причиной, выберите Файл> Неправильно кешировать/перезапустить> Отменить и перезапустить на панели инструментов Android Studios. Проблемы с именами ваших ресурсов также могут помешать правильному созданию файла R.java, поэтому убедитесь, что у вас нет нескольких ресурсов с одинаковыми именами и что ни одно из имен ваших файлов не содержит недопустимых символов. Android Studio поддерживает только строчные буквы a-z, 0-9, точки с запятой и подчеркивания, и один недопустимый символ может вызвать ошибку R.layout во всем проекте, даже если вы фактически не используете этот ресурс где-либо в своем проекте!

Моя проблема и ее решение: В моем случае я применил все вышеперечисленное, но не смог решить проблему. Таким образом, я запустил новый проект и вставил свой код один за другим и проверил мой код при запуске приложения. Наконец, однажды, когда я впервые удалил код в colors.xml и скопировал и вставил приведенный ниже код в файл colors.xml, я получил ошибку.

<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>

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

<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>

Надеюсь, это поможет кому-то вроде меня, новичку в программировании.

Ответ 22

После очистки проекта и синхронизации с Gradle (безрезультатно) я удалил все свои операторы импорта и вернул их обратно, используя alt + Enter.

Ответ 23

Вы импортируете недействительный класс R, проверяете импорт.

Ответ 24

Я удалил import android.R и добавил import android.support.v7.appcompat. *;

Однако это должно было быть сделано после импорта appcompat путем щелчка правой кнопкой мыши и импорта