Разработка под Android - «ошибка отсутствующей темы» в eclipse ide для макета XML-файлов - PullRequest
10 голосов
/ 19 февраля 2011

Я недавно установил Eclipse IDE для разработчиков Java (версия: 3.6.1) с платформой Android SDK 2.1update1 - в Windows 7.

Я могу добавлять, редактировать и запускать код для проектов, однако в области Workbench в графическом представлении XML-файлов макета всегда отображается сообщение «отсутствует тема» в правой нижней области навигации. Левая область навигатора палитры в порядке а оставшаяся область пуста.

Сообщение об ошибке гласит: «Не удалось выбрать страницу« 0 »в AndroidXmlEditor»

The first and last 10 lines from the Exception Stack Trace reads:
java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.renderWithBridge(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.recomputeLayout(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.Gra phicalEditorPart.activated(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEd itor.pageChange(Unknown Source)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiP ageEditorPart.java:1067)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEdi tor.java:607)
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEdito r.selectDefaultPage(Unknown Source)
at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEdito r.addPages(Unknown Source)
at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEdito r.java:138)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(Mu ltiPageEditorPart.java:348)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)

Заранее спасибо за помощь.

Ответы [ 10 ]

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

На вкладке «Графический макет» редактора макетов есть раскрывающийся список для выбора используемой версии Android.В вашем случае это, вероятно, пусто, поэтому выберите версию, и вы, вероятно, хорошо идти.

9 голосов
/ 28 июля 2012

Вы просто выбираете тему сверху. Вы можете увидеть ваш xml дизайн на моем изображении:

XML design

2 голосов
/ 28 июня 2011

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

`<application android:icon="@drawable/icon" 
           android:label="@string/app_name" 
           android:theme="@android:style/Theme.Black">`

Затем я закрыл свой XML-файл Activity UI и снова открыл его ... и проблема была исправлена.

1 голос
/ 13 августа 2011

Я решил эту проблему, удалив свою пользовательскую конфигурацию устройства.

  • Откройте файл layout.xml.
  • Перейти к представлению «Графическое расположение».
  • В крайнем левом раскрывающемся списке выберите «Пользовательский», чтобы вызвать «Диалоговое окно «Конфигурации устройства».
  • Удалите пользовательскую конфигурацию.

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

Что если вы хотите использовать пользовательскую конфигурацию устройства?От кого-то из команды android:

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

Я нашелскопировав одну из конфигураций по умолчанию и изменив значения по мере необходимости, сделали свое дело.

Отслеживание проблем Android> Проблема 17522: проблема ADT 11 "Нет содержимого XML. Добавьте корневой вид или макет документа«.> Комментарий 10

Я нахожусь на WinXP Pro SP3, Eclipse Indigo (3.7.0), сборка под Android 2.2 / Level 8 (которую я установил после появления ошибки «отсутствует тема» при сборке сAndroid 2.1-обновление1).Я не знаю, помогла ли смена платформ.

Изменение целевой платформы в «графическом макете» файла layout.xml с Android 2.2 на Android 2.1-update1 вновь вызвало проблемы с некоторыми из моих макетов.Поэтому, возможно, вам нужна полная конфигурация устройства и сборка под Android 2.2 (или, по крайней мере, установите Android 2.2 в качестве платформы для каждого конкретного XML-файла и соберите остальную часть приложения на более ранней платформе, если это будет необходимо).

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

У меня была такая же проблема .. Я использую Android 3.0 и разрабатываю для Xoom, и она уже была выбрана.Однако, изменение версии на 2.3.3, а затем обратно на 3.0 также решило проблему. Никаких перестроений, повторного импорта проекта, просто изменили версию и снова вернули ее к первоначальному значению.Но это может быть специфичным для 3.0.Однажды решенный, я не пошел дальше в это ..

1 голос
/ 26 апреля 2011

У меня была эта проблема с несколькими совершенно новыми проектами, без добавления кода. Eclipse, по-видимому, по умолчанию использует самый высокий Android SDK, установленный для редактора макетов, даже если вы указали другую версию при создании minsdk. Проект ... Чистый ... восстановил его, и тогда это было хорошо.

0 голосов
/ 06 марта 2015

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

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

Поэтому я попробовал другое решение, то есть добавление пользовательской части (в моем случае всего было добавлено 3 тега в файл styles.xml) во все другие файлы styles.xml. т.е. файлы styles.xml в values-normal-hdpi, values-normal-mdpi, valuse-v11 и values-v14 ...

И БУМ !!! Это решило мою проблему, которая потратила впустую весь мой день.

0 голосов
/ 30 июня 2014

Я решил свою проблему, изменив тему приложения в файле манифеста .. как ..

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
0 голосов
/ 22 июня 2011

Вы добавили тег в манифест?Может быть, дизайнер ищет там тему, а ее там нет.

0 голосов
/ 05 марта 2011

У меня тоже была эта проблема.

У меня был проект, который использовал API Google (уровень 7) в качестве цели сборки.Я предполагаю, что в этой сборке есть что-то не так, что не указывает на соответствующие файлы темы.Чтобы обойти это, я переключил свой «Project Build Target» на Android 2.1-update1, и, похоже, все в порядке.

Чтобы туда попасть .. В открытом проекте нажмите «Проект» (в верхнем меню) -> Свойства -> выберите Android и измените цель сборки.

В какой-то момент мне могут понадобиться GoogleAPI, поэтому, возможно, придется вернуться обратно.Это может решить проблему, кто знает.

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