2013-06-30 14 views
6

私は最近、古典的なAndroid仮想デバイスの代わりにgenymotionを使用し始めましたが、いくつか問題があります.. 私のアプリこのエラーが発生しました。次元に変換できません:Androidでアプリを実行するとタイプ= 0x1

Can't convert to dimension: type=0x1 

私はそれが悪いtype..belowを持っているいくつかのレイアウトのparamがあることを述べている私はGenymotionでそれを実行LayoutInflater..Whenから来ているアンドロイドのスタジオから2つのスクリーンショットです。最初はNexus 4でアプリを実行するときに撮影されたもので、もう1つは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

の両方がネクサス4は、API 17ので、4.2.2を最新に実行中の唯一の違いは、Genymotionは、API 16であるということである、ジェリービーンを実行する必要があります。..

問題は私のカスタムリストビューアダプタから来ています - そのgetViewメソッドから、私はそれらのレイアウトの1つに関連している必要がありますと思う。

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> 

私は、これらの参照パディング、マージンのすべてを削除しようとしました..しかし、それ(私は、リスト項目の二種類があります)私はAPI 16で標準的なアンドロイドエミュレータでそれを動かそうとしましたが、動作しません。このコードのどの部分がそのバージョンと互換性がないのか教えてください。

+0

をごPeopleAdapter – passsy

答えて

6

は常に属性のAPIレベルを見て:

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

アンドロイド:layout_alignParentEndは、APIレベルで追加された17

​​

+3

LINTのGetViewメソッドがあなたであることを示してください。友達:D – WarrenFaith

関連する問題