R.layout.main не может быть решен - PullRequest
19 голосов
/ 27 октября 2010

Использование Eclipse на Win XP. Ранее я создал приложение или 2, но сейчас работаю над «реальной» версией и получаю вышеуказанную ошибку.

У меня были приколы при создании версии 1.5, поэтому я начал новый проект для 2.1.

package xxx.guest;

import android.R;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

public class briefme extends Activity {

 private String strURL;
           ........
           ........ 

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main ); 

Проект, как показано ниже (обратите внимание, я удалил некоторые имена из соображений конфиденциальности!)

Есть идеи, что пошло не так?

Спасибо

Martin.

Скриншот проекта здесь

Ответы [ 8 ]

60 голосов
/ 27 октября 2010

Я бы попробовал обновить, если это не работает, закройте и откройте проект.

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

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

Редактировать: также попробуйте изменить свой импорт:

import android.R;

до:

import your.package.R;
3 голосов
/ 06 апреля 2012

В моем случае это произошло потому, что это был ресурс макета с заглавными буквами в имени файла. Ресурсы не были скомпилированы из-за ошибки и из-за этого отсутствовал класс R.

2 голосов
/ 06 февраля 2011

Как предложено выше, просто измените импорт "import android.R;" к одному по отношению к вашему приложению, например "импортировать your.package.name.R;" должен сделать трюк здесь.

1 голос
/ 23 ноября 2011

Вы также можете проверить, есть ли у программы adb в папке / platform-tools разрешения на запуск в вашей системе.Если нет, R.java для вашего проекта не будет сгенерирован.

0 голосов
/ 23 июля 2014

В моем случае (см. Другие учебники) вы должны изменить:

setContentView(R.layout.main ); 

На:

setContentView(R.layout.activity_main);
0 голосов
/ 28 марта 2013

Если у вас 64-битная платформа Linux без библиотек ia32, эта проблема также может возникнуть. Мне потребовалось довольно много времени, чтобы выяснить это, поскольку проблема явно не связана с невозможностью выполнения 32-битного кода.

0 голосов
/ 06 ноября 2012

Возможная копия R не может быть решена - ошибка Android .

В этой теме у нас отличный ответ.

Обращаясь к http://source.android.com/source/using-eclipse.html, мы получаем следующий фрагмент:

Примечание. Eclipse иногда любит добавлять оператор «import android.R» в начало ваших файлов, которые используют ресурсы, особенно когда вы просите Eclipse сортировать или иным образом управлять импортом. Это приведет к поломке вашей марки. Посмотрите на эти ошибочные операторы импорта и удалите их.

Таким образом, ответом является удаление, а не переименование вашего import android.R;

Причина этого в том, что your.package.R виден, так как вы делитесь пакетом. import android.R; маскирует это, поэтому его лучше удалить, чем заменить на что-то избыточное.

0 голосов
/ 03 сентября 2012

Мои два цента.

В моем случае я использовал другую переменную с тем же именем R , что привело к ошибке компиляции.Eclipse может стать лучше, если направлять пользователей точным сообщением об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...