частые проблемы, возникающие в представлении андроида, Ошибка, анализирующая XML: несвязанный префикс

У меня есть частая проблема в представлении андроида, Error parsing XML: unbound prefix on Line 2.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:id="@+id/myScrollLayout" 
android:layout_width="fill_parent"  android:layout_height="wrap_content">
    <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" 
    android:text="Family" android:id="@+id/Family" 
    android:textSize="16px" android:padding="5px" 
    android:textStyle="bold" android:gravity="center_horizontal">
    </TextView>

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:orientation="vertical" android:scrollbars="vertical">
        <LinearLayout android:orientation="vertical" android:id="@+id/myMainLayout" 
        android:layout_width="fill_parent"  android:layout_height="wrap_content">
        </LinearLayout>
    </ScrollView>

</LinearLayout>
290
задан Jaffer Wilson 21 July 2015 в 18:13
поделиться

2 ответа

В:

  1. Вы назначаете значение указателю q , перемежая его с адреса на конкретную память см. Документ по отмене привязки указателя . Однако из-за состояния , при котором устанавливается адрес x , он может указывать на ячейку произвольного запоминающего устройства (не инициализирована), если x < = 0 .
  2. В строке выше задается q для указания на тот же адрес памяти, что и p . Затем для p выделяется новая память. Затем выделяется новая память, к которой точки p .
  3. Строка над вами удалила выделение памяти, указанное q . Теперь этот адрес памяти доступен для использования системой. И после этого вы присваиваете памяти значение, которое не «принадлежит» вам.
  4. Если x = 0 , то возвращается к системной памяти, на которую указывают q и p . И снова попытка использовать память, которая не «принадлежит» вам. Также отсутствует delete p , если x! = 0 - таким образом память не возвращается в систему.
-121--4667618-

Несколько причин, по которым это может произойти:

1) Эта ошибка возникает в неверном пространстве имен или опечатке в атрибуте. Как и «xmlns» неправильно, это должно быть xmlns: android

2) Первый узел должен содержать: xmlns:android = «http://schemas.android.com/apk/res/android»

3), Если вы объединяете AdMob, проверьте таможенные параметры как ads:adSize, вам нужно

xmlns:ads = «http://schemas.android.com/apk/lib/com.google.ads»

4), Если вы используете LinearLayout, вам, возможно, придется определить инструменты:

xmlns:tools = «http://schemas.android.com/tools»

543
ответ дан 23 November 2019 в 01:43
поделиться

Как вы упомянули, вам нужно указать правое пространство имен . Вы также видите эту ошибку с неправильным пространством имен.

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:padding="10dip">

работать не будет.

Изменение: с

xmlns="http://schemas.android.com/apk/res/android"

на

xmlns:android="http://schemas.android.com/apk/res/android"

Сообщение об ошибке относится ко всему, что запускает "android:", поскольку XML не знает, что такое пространство имен " android: ".

xmlns: android определяет его.

32
ответ дан 23 November 2019 в 01:43
поделиться