Android: тип атрибута требуется в объявлении «CDATA» - PullRequest
0 голосов
/ 13 ноября 2018

Первая ошибка устранена, пожалуйста, прочитайте мой комментарий к ответу Дэниела Хейли.

Я довольно новичок в разработке и использовании Android, изменил размер изображения в XML-файле макета.

С тех пор я всегда получаю эту ошибку:

Ошибка: (1, 151) Тип атрибута требуется в объявлении атрибута "CDATA" для элемента "LinearLayoutxmlns: android".

И я понятия не имею, о чем это говорит ... Google, похоже, дает мне очень мало результатов, все с похожим кодом.

Вот содержимое моего XML-файла:

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE LinearLayout [<!ELEMENT LinearLayout (ImageView|TextView)*><!ATTLIST LinearLayoutxmlns:android CDATA #REQUIREDandroid:layout_width CDATA #REQUIREDandroid:layout_height CDATA #REQUIREDandroid:background CDATA #REQUIREDandroid:gravity CDATA #REQUIREDandroid:orientation CDATA #REQUIREDandroid:paddingBottom CDATA #REQUIREDandroid:paddingLeft CDATA #REQUIREDandroid:paddingRight CDATA #REQUIREDandroid:paddingTop CDATA #REQUIREDandroid:theme CDATA #REQUIRED><!ELEMENT ImageView (#PCDATA)><!ATTLIST ImageViewandroid:id CDATA #REQUIREDandroid:layout_width CDATA #REQUIREDandroid:layout_height CDATA #REQUIREDandroid:paddingTop CDATA #REQUIREDandroid:src CDATA #REQUIRED><!ELEMENT TextView (#PCDATA)><!ATTLIST TextViewandroid:layout_width CDATA #REQUIREDandroid:layout_height CDATA #REQUIREDandroid:layout_gravity CDATA #REQUIREDandroid:layout_marginLeft CDATA #REQUIREDandroid:layout_marginTop CDATA #REQUIREDandroid:text CDATA #REQUIREDandroid:textSize CDATA #REQUIREDandroid:textStyle CDATA #REQUIRED>]>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="horizontal"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="@dimen/_80sdp"
        android:layout_height="@dimen/_80sdp"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:src="@drawable/pyroappappicon" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_30sdp"
        android:text="@string/app_name"
        android:textSize="@dimen/_20sdp"
        android:textStyle="bold" />

</LinearLayout>

1 Ответ

0 голосов
/ 13 ноября 2018

В объявлениях attlist имена ваших атрибутов не разделены пробелами.

Например, LinearLayoutxmlns:android (из сообщения об ошибке) должно быть LinearLayout xmlns:android.

Другой пример: #REQUIREDandroid:layout_width должен быть #REQUIRED android:layout_width.

Вот версия с исправленными объявлениями attlist.

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

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE LinearLayout [
<!ELEMENT LinearLayout (ImageView|TextView)*>
<!ATTLIST LinearLayout
    xmlns:android CDATA #REQUIRED
    android:layout_width CDATA #REQUIRED
    android:layout_height CDATA #REQUIRED
    android:background CDATA #REQUIRED
    android:gravity CDATA #REQUIRED 
    android:orientation CDATA #REQUIRED 
    android:paddingBottom CDATA #REQUIRED 
    android:paddingLeft CDATA #REQUIRED 
    android:paddingRight CDATA #REQUIRED 
    android:paddingTop CDATA #REQUIRED 
    android:theme CDATA #REQUIRED>
<!ELEMENT ImageView (#PCDATA)>
<!ATTLIST ImageView
    android:id CDATA #REQUIRED
    android:layout_width CDATA #REQUIRED
    android:layout_height CDATA #REQUIRED
    android:paddingTop CDATA #REQUIRED
    android:src CDATA #REQUIRED>
<!ELEMENT TextView (#PCDATA)>
<!ATTLIST TextView
    android:layout_width CDATA #REQUIRED
    android:layout_height CDATA #REQUIRED
    android:layout_gravity CDATA #REQUIRED
    android:layout_marginLeft CDATA #REQUIRED
    android:layout_marginTop CDATA #REQUIRED
    android:text CDATA #REQUIRED
    android:textSize CDATA #REQUIRED
    android:textStyle CDATA #REQUIRED>
]>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="horizontal"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="@dimen/_80sdp"
        android:layout_height="@dimen/_80sdp"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:src="@drawable/pyroappappicon" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_30sdp"
        android:text="@string/app_name"
        android:textSize="@dimen/_20sdp"
        android:textStyle="bold" />

</LinearLayout>

Вот еще одна версия с объявлением doctype, все в одной строке, как оригинал:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE LinearLayout [<!ELEMENT LinearLayout (ImageView|TextView)*><!ATTLIST LinearLayout xmlns:android CDATA #REQUIRED android:layout_width CDATA #REQUIRED android:layout_height CDATA #REQUIRED android:background CDATA #REQUIRED android:gravity CDATA #REQUIRED android:orientation CDATA #REQUIRED android:paddingBottom CDATA #REQUIRED android:paddingLeft CDATA #REQUIRED android:paddingRight CDATA #REQUIRED android:paddingTop CDATA #REQUIRED android:theme CDATA #REQUIRED><!ELEMENT ImageView (#PCDATA)><!ATTLIST ImageView android:id CDATA #REQUIRED android:layout_width CDATA #REQUIRED android:layout_height CDATA #REQUIRED android:paddingTop CDATA #REQUIRED android:src CDATA #REQUIRED><!ELEMENT TextView (#PCDATA)><!ATTLIST TextView android:layout_width CDATA #REQUIRED android:layout_height CDATA #REQUIRED android:layout_gravity CDATA #REQUIRED android:layout_marginLeft CDATA #REQUIRED android:layout_marginTop CDATA #REQUIRED android:text CDATA #REQUIRED android:textSize CDATA #REQUIRED android:textStyle CDATA #REQUIRED>]>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="horizontal"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="@dimen/_80sdp"
        android:layout_height="@dimen/_80sdp"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:src="@drawable/pyroappappicon" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_30sdp"
        android:text="@string/app_name"
        android:textSize="@dimen/_20sdp"
        android:textStyle="bold" />

</LinearLayout>
...