在Android 4.1上运行应用程序时无法转换为维度:type = 0x1

时间:2013-06-30 12:27:38

标签: android android-layout layout-inflater

我最近开始使用genymotion而不是经典的Android虚拟设备,但我有一些问题.. 当我尝试运行我的应用程序时出现此错误。

Can't convert to dimension: type=0x1

我来自LayoutInflater ..当我在Genymotion中运行它时,它说有一些布局参数有不好的类型..下面是android studio的两个截图。第一个是在Nexus 4上运行应用程序时使用的,第二个是来自Genymotion。 this one has been taken while I've been testing the app on Nexus 4

this one has been taken while running on Genymotion virtual device

两者都应该运行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>

我试图删除所有那些引用的填充,边距,但是它对ll没有任何影响.. 我也尝试在API 16的标准android模拟器中运行它,它也不起作用..请问你能告诉我这段代码的哪一部分与那个版本不兼容?

1 个答案:

答案 0 :(得分:6)

始终查看属性的API级别:

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

android:layout_alignParentEnd已在API级别17中添加

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