Допустимый файл XML выдает ошибку "не удалось разобрать" в Android ADT - PullRequest
4 голосов
/ 11 октября 2011

Я создал XML-файл:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:state_pressed="true"
   android:drawable="@drawable/calender_h" />
  <item
   android:state_pressed="false"
  android:drawable="@drawable/calender_n" />  
</selector>

, но выдает следующую ошибку:

Не удалось проанализировать файл G: \ eclipseHeliosWorkspace \ WineCountry \ res \drawable \ calendar_selector.xml

В чем может быть проблема?

Ответы [ 8 ]

3 голосов
/ 13 декабря 2011

Я не уверен, что это то же самое, но аналогичная проблема произошла со мной при обновлении до ADT 15, в проекте библиотеки.это проблема Google, которая до сих пор открыта: 21046 .

Вот что у меня сработало:

  1. Удалить объявление библиотеки проекта.
  2. Открыть макет, вызвавший ошибку (тот, который использует селектор) в графическом макете.
  3. Очистить проект (Проект -> Очистить)
  4. Закрыть и снова открыть затмение.(макет должен быть в порядке)
  5. Вы можете снова установить проект как библиотеку.

Надеюсь, это поможет!(если это все еще актуально ...)

1 голос
/ 04 декабря 2011

У меня тоже была такая же проблема, и в Eclipse-> проблем у меня тоже не было проблем.

Вы можете рассмотреть возможность добавления в состояние по умолчанию для рисования (как это практикуется в этом * 1003).* Пример ImageButton на веб-сайте разработчиков Android), показанный в этой измененной версии представленного вами кода:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:state_pressed="true"
    android:drawable="@drawable/calender_h" />
<item
    android:state_pressed="false"
    android:drawable="@drawable/calender_n" />  
<item 
    android:drawable="@drawable/calender_n" />
</selector>

В противном случае, я бы сказал (из того, что я испытал только что в Eclipse), чтов любом случае вы должны отправить приложение на свой телефон или эмулятор.В Eclipse я смотрю на сообщение «Не удалось выполнить синтаксический анализ ...» на вкладке «Графический макет» XML-файла макета, с которым у меня возникают проблемы, но на телефоне я вижу изображение именно таким, каким оно должно быть (отвечаетидеально для нажатия кнопок и еще много чего).

0 голосов
/ 23 мая 2016

В моем случае чертежи (файлы PNG) были повреждены при переносе их с компьютера с Linux на компьютер с Windows, где я занимаюсь разработкой.Я понял это, пытаясь открыть файлы PNG.Эти файлы PNG не могут быть открыты, так как они были повреждены.

После повторной передачи они работали нормально.

0 голосов
/ 22 мая 2014

У меня была такая же проблема, и это было связано с именем одного из изображений ресурса. Изображение было отправлено мне дизайнером, который представил некоторые символы, не принятые Android, и даже когда я переименовал его в Eclipse, что-то "злое", очевидно, осталось Weird.

0 голосов
/ 25 апреля 2013

Я тоже столкнулся с этим.XML-файлы макета и main.xml не будут анализироваться.если бы вы выбрали графическое представление для main.xml, вы бы не получили никаких кнопок (в моем случае).Я обнаружил, что Eclipse был установлен на C ++, а не на Java.Установка его на перспективу Java, закрытие, а затем повторное открытие Eclipse устранили проблему.

Теперь Eclipse делает другие странные вещи, например, забывает периодически подключаться к телефону.

0 голосов
/ 18 октября 2012
  1. Не удалось выполнить синтаксический анализ файла XML для Android
  2. , чтобы проверить, существуют ли ваши рисунки по соответствующим путям
  3. Проверить наличие невидимых символов

4.Я тоже столкнулся с той же проблемой.Я обнаружил, что каждое из состояний StateListDrawable (нажатие, выделение, фокусировка и т. Д.) На самом деле ожидает корректное рисование (png, jpg, gif и т. Д.).Итак, это означает, что что-то вроде этого вызовет проблему разбора ошибки:

<item android:state_selected="true" />

0 голосов
/ 03 февраля 2012

В Eclipse щелкните правой кнопкой мыши файл XML и выберите «Открыть с помощью» -> «Редактор XML».В этом выберите вкладку «Дизайн».Вы можете заметить, что после ваших <item> есть загадочный дочерний элемент, который просто пуст.Щелкните правой кнопкой мыши по нему и выберите «Удалить».

Потратил час или около того, чтобы решить эту проблему, и это оказалось исправлением, возможно, некоторых невидимых символов, которые приводят к сбою синтаксического анализа.Во всяком случае, надеюсь, что это помогает кому-то еще с этой проблемой!

0 голосов
/ 30 ноября 2011

У вас с XML все в порядке.Ты скучаешь по чертежам?Попробуйте очистить проект один раз.Если это не поможет, возможно, в XML есть невидимые специальные символы, если вы скопировали его откуда-то.

В любом случае, посмотрите на окно с проблемамиОн должен дать вам более подробную информацию об ошибке.

...