Я создал несколько приложений для Android с ADT в Eclipse, но теперь я не могу редактировать res/layout/main.xml в новых или старых проектах Android. Когда я набираю вкладку main.xml, мои нажатия клавиш не влияют. Аналогично, я не могу вносить изменения на вкладке "Графическая макета". Я могу перетащить виджет на экран, но он не остается, когда я отпускаю кнопку мыши. Я проверил, что main.xml не защищен от записи, как через Eclipse, так и в файловой системе. Я могу создать еще один файл в этом каталоге через Eclipse или файловую систему, что показывает, что каталог не защищен от записи. У меня нет проблем с редактированием или добавлением файлов в каталог "src".
Я запускаю Eclipse Classic 3.6.1 с версией 10.0.1.v201103111512-110841 средств разработки Android в Windows 7. FWIW, я недавно установил плагины для некоторых других инструментов Google (GWT и GAE), хотя я не используйте их для любого из проектов Android (очевидно).
Обновление: когда я редактирую xml в другом редакторе, а затем обновляю его в Eclipse, я получаю сообщение об ошибке "Ошибка анализа XML: несвязанный префикс". Мой файл верен, но я обнаружил, что стандартный URL-адрес "http://schemas.android.com/apk/res/android" недоступен. В частности, сервер не работает. Я не знаю, связано ли это с моей оригинальной проблемой.
Update2: Вот foo.xml, который я создал за пределами Eclipse, но показывает ошибку Ошибка анализа XML: несвязанный префикс во второй строке:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:text="TextView"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Сайт schemas.android.com все еще не работает.
Я попробовал запустить свою программу, чтобы получить ошибки компилятора, но она построена правильно, и ошибка исчезла из XML файла. Наведите указатель мыши.
Это все еще оставляет исходную проблему неспособности редактировать любой XML файл в Eclipse. Когда я попытался отредактировать вышеупомянутый XML файл, я получил эту ошибку во всплывающем окне:
No grammar constraints (DTD or XML schema) detected for the document.
Я предполагаю, что это происходит из-за schemas.android.com.
Обновление 3 (в ответ на комментарий):
Очистка и перестройка ничего не изменили. Я мог бы построить, но у меня все еще была ошибка "Отсутствие ограничений грамматики", когда я пытался редактировать либо XML файл.
Каталог xml файлов C:\Users\Ellen\workspace\SqliteDemo\res\layout, как и должно быть. Он не содержит других файлов. В представлении "Проблема" не было никаких предупреждений или проблем для этого проекта (хотя для других моих проектов были некоторые).
Обновление 4
Я также не могу редактировать (по умолчанию) AndroidManifest.xml из Eclipse.
Недавно я столкнулся с этой проблемой. Поскольку здесь нет принятого ответа, я дам ему предположение.
Я считаю, что это имеет какое-то отношение к версии, указанной в xml. Я не совсем уверен в вашем случае, но, возможно, вы можете проверить мое требование. Соответствует ли основная версия eclipse тем, что указано в вашем XML файле?
Например, открывая следующее в Eclipse Kepler (4.3):
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="com.someplace.something"
...
Мне тоже не удалось его отредактировать. Однако открытие того же plugin.xml в Eclipse Indigo (3.7), казалось, позволило мне отредактировать файл просто отлично. Итак, основная версия Eclipse должна соответствовать.
Я не слишком хорошо разбирался, чтобы проверить это в документации Eclipse. Итак, в этот момент я просто назову это догадкой о первопричине.
Для всех, кто сталкивается с этой проблемой, если вы действительно настаиваете на редактировании xml файла в Eclipse, вам может потребоваться надлежащая основная версия, указанная в xml. К сожалению, сохранение старых версий Eclipse не является идеальным решением!; -)
У меня была аналогичная проблема (в Windows 7). Отключение индексирования и антивируса решило мою проблему.
У меня была такая же проблема после того, как я узнал о новинках на сайте ресурса Android - просто создайте макет в разметке (http://developer.android.com/resources/tutorials/views/index.html) и удалите textview.
Теперь вернитесь в режим графического макета, и все должно работать нормально!