0

我建立我的應用程序對二進制XML文件行#53:錯誤充氣類的ImageView

minSdkVersion 11 
targetSdkVersion 23 

當我Samsug銀河S5或注5運行,應用程序運行正常,沒有問題。但是當我嘗試在運行android 4.4.2的三星S3上運行它時,它會崩潰並顯示以下堆棧跟蹤。我已經閱讀android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>。我的堆棧跟蹤是否會散出一些特別的光線,以便有人可以進一步幫助我?

而且排隊在MainActivity 153參考簡直是setContentView(R.layout.activity_main);

和我所有的主題是:AppCompat這樣<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

FATAL EXCEPTION: main 
     Process: com.business.android, PID: 24152 
     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.business.android/com.business.android.activities.MainActivity}: android.view.InflateException: Binary XML file line #53: Error inflating class ImageView 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2334) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) 
    at android.app.ActivityThread.access$900(ActivityThread.java:169) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:146) 
    at android.app.ActivityThread.main(ActivityThread.java:5487) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
    at dalvik.system.NativeStart.main(Native Method) 
     Caused by: android.view.InflateException: Binary XML file line #53: Error inflating class ImageView 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) 
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:855) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:751) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354) 
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.business.android.activities.MainActivity.onCreate(MainActivity.java:153) 
    at android.app.Activity.performCreate(Activity.java:5451) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)  
    at android.app.ActivityThread.access$900(ActivityThread.java:169)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:146)  
    at android.app.ActivityThread.main(ActivityThread.java:5487)  
    at java.lang.reflect.Method.invokeNative(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:515)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)  
    at dalvik.system.NativeStart.main(Native Method)  
     Caused by: android.content.res.Resources$NotFoundException: File res/drawable/sel_touch_feedback.xml from drawable resource ID #0x7f020081 
    at android.content.res.Resources.loadDrawable(Resources.java:3066) 
    at android.content.res.TypedArray.getDrawable(TypedArray.java:602) 
    at android.view.View.<init>(View.java:3701) 
    at android.widget.ImageView.<init>(ImageView.java:127) 
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57) 
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53) 
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106) 
    at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980) 
    at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039) 
    at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:690) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:855)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:751)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)  
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
    at com.business.android.activities.MainActivity.onCreate(MainActivity.java:153)  
    at android.app.Activity.performCreate(Activity.java:5451)  
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)  
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)  
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)  
    at android.app.ActivityThread.access$900(ActivityThread.java:169)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:146)  
    at android.app.ActivityThread.main(ActivityThread.java:5487)  
    at java.lang.reflect.Method.invokeNative(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:515)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)  
    at dalvik.system.NativeStart.main(Native Method)  
     Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable 
    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:181) 
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:990) 
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:930) 
    at android.content.res.Resources.loadDrawable(Resources.java:3062) 
    at android.content.res.TypedArray.getDrawable(TypedArray.java:602)  
    at android.view.View.<init>(View.java:3701)  
    at android.widget.ImageView.<init>(ImageView.java:127)  
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)  
    at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)  
    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)  
    at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)  
    at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)  
    at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)  
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:690)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)  
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:855)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:751)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:498)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:398)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:354)  
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)  
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
    at com.business.android.activities.MainActivity.onCreate(MainActivity.java:153)  
    at android.app.Activity.performCreate(Activity.java:5451)  
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)  
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)  
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)  
    at android.app.ActivityThread.access$900(ActivityThread.java:169)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:146)  
    at android.app.ActivityThread.main(ActivityThread.java:5487)  
    at java.lang.reflect.Method.invokeNative(Native Method)  
    at java.lang.reflect.Method.invoke(Method.java:515)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)  
    at dalvik.system.NativeStart.main(Native Method)  

UPDATE

(感謝Machinarius)這裏是繪製可能導致問題的文件。任何想法如何我可以修復它?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="schemas.android.com/apk/res/android"> 
    <item android:color="@color/colorAccentLight" android:state_selected="true"/> 
    <item android:color="@color/colorAccentLight" android:state_pressed="true"/> 
    <!--<item android:color="@color/white"></item>--> 
</selector> 
+0

標籤需要'可繪製'屬性或子標籤定義繪圖。你看過這個嗎?看起來像有問題的文件是res/drawable/sel_touch_feedback.xml – Machinarius

+0

我已編輯顯示有問題的drawable。任何想法如何我可以修復它? –

+0

該文件應該在'res/color' ... https://developer.android.com/guide/topics/resources/color-list-resource.html –

回答

3

感謝Machinarius和cricket_007的評論,我能夠解決這個問題。最後,我剛剛刪除了可繪製的問題,我通過xml直接創建了該問題,並且在我使用該可繪製表單的任何地方都使用了?attr/colorControlHighlight

有問題的繪製是

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="schemas.android.com/apk/res/android"> 
    <item android:color="@color/colorAccentLight" android:state_selected="true"/> 
    <item android:color="@color/colorAccentLight" android:state_pressed="true"/> 
    <!--<item android:color="@color/white"></item>--> 
</selector> 

原來我並不需要它畢竟。

相關問題