6

最近、従来の Android 仮想デバイスの代わりに genymotion を使い始めましたが、いくつか問題があります。アプリを実行しようとすると、このエラーが発生しました。

Can't convert to dimension: type=0x1

私はLayoutInflaterから来ました..Genymotionで実行すると、タイプが悪いレイアウトパラメータがあると表示されます..以下は、Androidスタジオの2つのスクリーンショットです。1 枚目は Nexus 4 でアプリを実行したときのもので、2 枚目は Genymotion のものです。 これは、Nexus 4 でアプリをテストしているときに撮影したものです

これはGenymotion仮想デバイスで実行中に撮影されました

両方とも Jelly Bean を実行する必要があります。唯一の違いは、Genymotion が API 16 で実行されるのに対し、Nexus 4 は 4.2.2 で最新の状態で実行されるため、API 17..

問題は、カスタム リスト ビュー アダプター (その getView メソッド) に起因するため、これらのレイアウトの 1 つに関連している必要があると思います。(私は2つの異なるタイプのリストアイテムを持っています)

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エミュレーターで実行しようとしましたが、動作しません..教えてください.このコードのどの部分がそのバージョンと互換性がありませんか?

4

1 に答える 1

6

属性の API レベルを常に確認します。

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

android:layout_alignParentEnd は API レベル 17 で追加されました

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

于 2013-07-08T11:19:38.560 に答える