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

R.layout.main не может быть разрешен

Использование Eclipse при победе 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.

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

4b9b3361

Ответ 1

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

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

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

Изменить: также попробуйте изменить импорт:

import android.R;

в

import your.package.R;

Ответ 2

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

Возможный дубликат R не может быть разрешен - ошибка Android.

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

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

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

Итак, ответ заключается в том, чтобы удалить, а не переименовать ваш import android.R;

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

Ответ 7

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

Ответ 8

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

setContentView(R.layout.main ); 

To:

setContentView(R.layout.activity_main);