2013-07-30 191 views
0

我想使用布局选择,但有一个错误上增加观看和应用给 ANR低于如何使用布局,选择资源

org.xmlpull.v1.XmlPullParserException:二进制XML文件中的行#2: android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:877) 无效绘制标签的LinearLayout

你有什么想法

谢谢

绘制/ selector_map_all.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:drawable="@layout/map_atm_selected" android:state_selected="true" /> 
     <item android:drawable="@layout/map_atm" /> 
</selector> 

布局/ map_atm.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout  
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:aresource="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/List_color2" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ico_info" /> 

    <TextView 
     style="@style/TextViewNormalOpac" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:text="Hepsi" /> 

</LinearLayout> 

布局/ map_atm_selected.xml

<? xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:aresource="http://schemas.android.com/apk/res-auto" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/List_color2" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/ico_info" /> 

    <TextView 
     style="@style/TextViewNormalOpac" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:text="Hepsi" /> 

</LinearLayout> 
+0

你的选择器是否叫做ico_info.xml?你有没有尝试清洁项目? – Desert

+0

icoinfo是一个PNG文件,我清理了这个项目,但没有任何改变,谢谢 – Talha

+0

那么你的选择器的名字是什么? – Desert

回答

1

你的例外的原因是因为你不能在选择器中使用LinearLayout,因为StateListDrawable类(它实际上是选择器)只能保持为只能绘制状态的对象,但LinearLayout不是可绘制的。您可以在createFromXmlInner方法或here内检查可用Drawable(除了普通图片)。