Невозможно преобразовать в размерность: type=0x1 при запуске приложения на Android 4.1

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

Can't convert to dimension: type=0x1

Я пришел из LayoutInflater. Когда я запускаю его в Genymotion, он говорит, что есть какой-то параметр макета, который имеет неправильный тип. Ниже приведены два скриншота из студии Android. Первый был сделан при запуске приложения на Nexus 4, а второй — от Genymotion. этот снимок был сделан во время тестирования приложения на Nexus 4

этот снимок был сделан во время работы на виртуальном устройстве Genymotion

Оба должны работать под управлением Jelly Bean, единственное отличие состоит в том, что Genymotion использует API 16, а Nexus 4 работает на последней версии 4.2.2, то есть API 17..

Проблемы возникают из-за моего пользовательского адаптера представления списка - из его метода getView, поэтому я думаю, что он должен быть связан с одним из этих макетов. (У меня есть два разных типа элементов списка)

list_heading.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content">


<TextView
        android:id="@+id/listViewHeaderText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="8dp"
        android:paddingTop="10dp"
        android:paddingBottom="3dp"
        android:text="Nacionále"
        android:textAppearance="?android:attr/listSeparatorTextViewStyle"
        android:textColor="@color/main_cvut"/>


<RelativeLayout
        android:id="@+id/listViewHeaderLine"
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:background="@color/main_cvut"/>
</LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/listItem"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/list_item_layout"
            android:clickable="true"
            android:focusable="true"
            android:paddingTop="?android:attr/listPreferredItemPaddingStart"
            android:minHeight="?android:attr/listPreferredItemHeight">

<TextView
        android:id="@+id/itemTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Title"
        android:paddingRight="?android:attr/listPreferredItemPaddingRight"
        android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
        android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView
        android:id="@+id/itemDescription"
        android:textColor="@android:color/darker_gray"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="description"
        android:paddingRight="?android:attr/listPreferredItemPaddingRight"
        android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
        android:textAllCaps="true"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_marginBottom="?android:attr/listPreferredItemPaddingEnd"
        android:paddingBottom="?android:attr/listPreferredItemPaddingRight"
        android:layout_below="@+id/itemTitle"/>

<ImageView
        android:id="@+id/itemIcon"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="16dp"
        android:layout_centerVertical="true"
        android:layout_alignParentStart="true"/>

<RelativeLayout
        android:id="@+id/itemBottomLine"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_alignParentBottom="true"
        android:layout_marginTop="?android:attr/listPreferredItemPaddingEnd"
        android:background="#b5b5b5"
        android:layout_alignParentEnd="false"/>
</RelativeLayout>

Я пытался удалить все указанные отступы, поля и т. Д. Но это не имело никакого эффекта. Я также пытался запустить его в стандартном эмуляторе Android с API 16, и он также не работает. Пожалуйста, не могли бы вы сказать мне какая часть этого кода несовместима с этой версией?


person simekadam    schedule 30.06.2013    source источник
comment
пожалуйста, покажите метод getView вашего PeopleAdapter   -  person passsy    schedule 08.07.2013


Ответы (1)


Всегда смотрите на уровень API для атрибута:

<RelativeLayout
    ...
    ...
    android:layout_alignParentEnd="false"/>

android:layout_alignParentEnd был добавлен в уровень API 17.

http://developer.android.com/reference/android/widget/RelativeLayout.html#ALIGN_PARENT_END

person Nipper    schedule 08.07.2013