Не удается разрешить R после добавления новых файлов XML макета - PullRequest
0 голосов
/ 21 мая 2011

У меня были проблемы с разрешением R несколько раз после добавления новых файлов XML макета.Я использую Eclipse и API 8. Иногда он исчезает после того, как я «очистил» проект или закрыл, а затем снова открыл проект.Я пытался добавить "импорт android.R", но это не помогло.Кто-то сказал, что это связано с тем, что некоторые XML-файлы макета содержат ошибки, но файл выглядит мне правильно.

Вот XML-файл res/layout/status.xml, с которым у меня возникли проблемы:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   <Button android:text="Button" android:id="@+id/button_tmp" android:layout_height="wrap_content" android:layout_width="wrap_content"></Button>
</LinearLayout>

и вот как я его использую:

public class StatusActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.status);
    }
}

Еще одна вещь, у этого XML-файла есть знак вопроса на панели «Просмотр пакета» в Eclipse, но у main.xml есть другой значок.У меня сейчас только два XML-файла макета.

Нужно ли в Eclipse сделать что-то особенное для добавления нового XML-файла макета?

Спасибо за помощь!

ОбновлениеСнимок экрана со значками на панели «Обзор пакета»:

enter image description here

Ответы [ 4 ]

1 голос
/ 23 мая 2011

Наконец-то разобрался.В XML-файле макета нет ничего плохого.Проблема в том, что класс StatusActivity отсутствует в пакете верхнего уровня, но автоматически сгенерированный класс R находится в пакете верхнего уровня.Поэтому в Status.java мне нужно импортировать его, но в основном классе активности, который находится в пакете верхнего уровня, я не делаю.Вот почему main.xml работает, а status.xml - нет.

Что касается другого значка, он указывает, управляется ли этот файл системой SCM.Поскольку status.xml является новым, значит, у него есть знак вопроса.

0 голосов
/ 15 мая 2013

Тестируете ли вы Project > Clean в это время?несколько раз вы должны очистить проект, чтобы пересобрать R файл.

0 голосов
/ 21 мая 2011

Попробуйте изменить ниже в LinearLayout.

android:layout_width="fill_parent"
android:layout_height="fill_parent"
0 голосов
/ 21 мая 2011

Нажмите на в проводнике пакетов и попробуйте клавишу обновления F5 - забудьте, кто первым предложил это, но это лучше, чем перезапуск Eclipse!

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