我最近开始使用genymotion而不是经典的Android虚拟设备,但我有一些问题.. 当我尝试运行我的应用程序时出现此错误。
Can't convert to dimension: type=0x1
我来自LayoutInflater ..当我在Genymotion中运行它时,它说有一些布局参数有不好的类型..下面是android studio的两个截图。第一个是在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>
我试图删除所有那些引用的填充,边距,但是它对ll没有任何影响.. 我也尝试在API 16的标准android模拟器中运行它,它也不起作用..请问你能告诉我这段代码的哪一部分与那个版本不兼容?
答案 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