2016-02-25 12 views
3

我一直困在一個問題上,發現沒有解決方案。無法解析索引0處的屬性

該應用在5.1上運行良好,但在6.1上崩潰了。

我使用2個自定義主題來更改用戶類型的應用程序顏色。

有人知道如何解決這個問題?

錯誤:

FATAL EXCEPTION: main 
Process: ***.debug, PID: 7511 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.***.qa.debug/com.***.activity.HomeActivity}: android.view.InflateException: Binary XML file line #23: Binary XML file line #5: Error inflating class <unknown> 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
Caused by: android.view.InflateException: Binary XML file line #23: Binary XML file line #5: Error inflating class <unknown> 
at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
at android.app.Activity.setContentView(Activity.java:2172) 
at com.***.activity.BaseActivity.onCreate(BaseActivity.java:54) 
at com.***.activity.BaseMenuActivity.onCreate(BaseMenuActivity.java:88) 
at com.***.activity.HomeActivity.onCreate(HomeActivity.java:87) 
at android.app.Activity.performCreate(Activity.java:6251) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: android.view.InflateException: Binary XML file line #5: Error inflating class <unknown> 
at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  
at android.app.Activity.setContentView(Activity.java:2172)  
at com.***.activity.BaseActivity.onCreate(BaseActivity.java:54)  
at com.***.activity.BaseMenuActivity.onCreate(BaseMenuActivity.java:88)  
at com.***.activity.HomeActivity.onCreate(HomeActivity.java:87)  
at android.app.Activity.performCreate(Activity.java:6251)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: java.lang.reflect.InvocationTargetException 

at java.lang.reflect.Constructor.newInstance(Native Method) 
at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)  
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)  
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)  
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  
at android.app.Activity.setContentView(Activity.java:2172)  
at com.***.activity.BaseActivity.onCreate(BaseActivity.java:54)  
at com.***.activity.BaseMenuActivity.onCreate(BaseMenuActivity.java:88)  
at com.***.activity.HomeActivity.onCreate(HomeActivity.java:87)  
at android.app.Activity.performCreate(Activity.java:6251)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
at android.app.ActivityThread.-wrap11(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:148)  
at android.app.ActivityThread.main(ActivityThread.java:5417)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/liner_layout_background.xml from drawable resource ID #0x7f0200fb 
at android.content.res.Resources.loadDrawableForCookie(Resources.java:2640) 
at android.content.res.Resources.loadDrawable(Resources.java:2540) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:870) 
at android.view.View.<init>(View.java:3954) 
at android.view.ViewGroup.<init>(ViewGroup.java:573) 
    at android.widget.LinearLayout.<init>(LinearLayout.java:203) 
     at android.widget.LinearLayout.<init>(LinearLayout.java:199) 
      at android.widget.LinearLayout.<init>(LinearLayout.java:195) 
       at java.lang.reflect.Constructor.newInstance(Native Method)  
       at android.view.LayoutInflater.createView(LayoutInflater.java:619)  
       at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)  
       at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694)  
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762)  
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
       at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939)  
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
       at android.view.LayoutInflater.parseInclude(LayoutInflater.java:939)  
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:831)  
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)  
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)  
       at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
       at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
       at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
       at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)  
       at android.app.Activity.setContentView(Activity.java:2172)  
       at com.***.activity.BaseActivity.onCreate(BaseActivity.java:54)  
       at com.***.activity.BaseMenuActivity.onCreate(BaseMenuActivity.java:88)  
       at com.***.activity.HomeActivity.onCreate(HomeActivity.java:87)  
       at android.app.Activity.performCreate(Activity.java:6251)  
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)  
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)  
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  
       at android.app.ActivityThread.-wrap11(ActivityThread.java)  
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  
       at android.os.Handler.dispatchMessage(Handler.java:102)  
       at android.os.Looper.loop(Looper.java:148)  
       at android.app.ActivityThread.main(ActivityThread.java:5417)  
       at java.lang.reflect.Method.invoke(Native Method)  
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  
       Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 0: TypedV 

linear_layout_background.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:state_enabled="true" 
     android:state_pressed="true" 
     android:drawable="@color/blue_light_line" /> 

    <item android:state_enabled="true" 
     android:state_focused="true" 
     android:drawable="@color/blue_light_line" /> 

    <item android:state_enabled="true" 
     android:drawable="?attr/list_row_bg" /> 

</selector> 

回答

2

問題是因爲我在繪圖和選擇器中使用了我的attr。我不知道爲什麼,但與棒棒糖這個代碼正常運行,並與新的和新的apis不。

報告的錯誤是在這裏:https://code.google.com/p/android/issues/detail?id=26251

所以我重複使用顏色引用我所有的圖形內容,並在主題atributes指向他們。

這就是問題所在:

<item android:state_enabled="true" 
     android:drawable="?attr/list_row_bg" /> 
+0

我知道自從你有這個問題以來一直是永遠的,但也許你可以分享一些你使用的代碼?我不完全明白你在說什麼。 – Harti

1

你的第二個觀點可能不是第一個孩子。你可以嘗試添加這樣的樣式文件。

<style name="MyTheme" parent="android:Theme"> 
... 
</style> 

你也可以檢出這樣的回答:Android: How to track down the origin of a InflateException?

他/她有同樣的問題。

+0

這是不是這樣的,我解決我的問題一樣的答案波紋管。 –

相關問題