2017-01-26 5 views
0

android.content.res.Resources$NotFoundException: File res/drawable/btn_light_bg.xmlによって引き起こされたandroid.view.InflateException: Binary XML file lineのAndroid 4.2.1を実行しているデバイスでアプリがクラッシュします。 問題が発生HERESにボタン:

 <Button 
      android:id="@+id/listenDemoBtn" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:layout_marginRight="8dp" 
      android:layout_marginEnd="8dp" 
      android:background="@drawable/btn_dark_bg" 
      android:textColor="@android:color/white" 
      style="?android:attr/buttonBarButtonStyle" 
      android:text="@string/listen_demo_btn"/> 

、問題の描画可能: button_dark_bg.xml

<?xml version="1.0" encoding="utf-8"?> 
<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:color="@color/colorPrimary" 
    tools:ignore="NewApi"> 
    <item> 
     <shape 
      android:shape="rectangle"> 
      <stroke 
       android:width="1dp" 
       android:color="@color/colorPrimary" /> 
      <solid 
       android:color="@color/colorBackground" /> 
      <corners android:radius="2dp"/> 
     </shape> 
    </item> 
</ripple> 

ログ出力:

01-26 13:11:14.721 16506-16506/us.kostenko.glagol E/AndroidRuntime: FATAL EXCEPTION: main 
                    android.view.InflateException: Binary XML file line #75: Error inflating class Button 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
                     at us.kostenko.glagol.catalog.view.DetailBookFragment.onCreateView(DetailBookFragment.kt:56) 
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184) 
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298) 
                     at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323) 
                     at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136) 
                     at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092) 
                     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998) 
                     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:709) 
                     at android.os.Handler.handleCallback(Handler.java:725) 
                     at android.os.Handler.dispatchMessage(Handler.java:92) 
                     at android.os.Looper.loop(Looper.java:153) 
                     at android.app.ActivityThread.main(ActivityThread.java:5297) 
                     at java.lang.reflect.Method.invokeNative(Native Method) 
                     at java.lang.reflect.Method.invoke(Method.java:511) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
                     at dalvik.system.NativeStart.main(Native Method) 
                    Caused by: android.content.res.Resources$NotFoundException: File res/drawable/btn_light_bg.xml from drawable resource ID #0x7f020057 
                     at android.content.res.Resources.loadDrawable(Resources.java:1993) 
                     at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
                     at android.view.View.<init>(View.java:3335) 
                     at android.widget.TextView.<init>(TextView.java:464) 
                     at android.widget.Button.<init>(Button.java:107) 
                     at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:66) 
                     at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:62) 
                     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:109) 
                     at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1021) 
                     at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1080) 
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47) 
                     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:171) 
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675) 
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)  
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)  
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
                     at us.kostenko.glagol.catalog.view.DetailBookFragment.onCreateView(DetailBookFragment.kt:56)  
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)  
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298)  
                     at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)  
                     at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)  
                     at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)  
                     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998)  
                     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:709)  
                     at android.os.Handler.handleCallback(Handler.java:725)  
                     at android.os.Handler.dispatchMessage(Handler.java:92)  
                     at android.os.Looper.loop(Looper.java:153)  
                     at android.app.ActivityThread.main(ActivityThread.java:5297)  
                     at java.lang.reflect.Method.invokeNative(Native Method)  
                     at java.lang.reflect.Method.invoke(Method.java:511)  
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)  
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)  
                     at dalvik.system.NativeStart.main(Native Method)  
                    Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag ripple 
                     at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 
                     at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822) 
                     at android.content.res.Resources.loadDrawable(Resources.java:1990) 
                     at android.content.res.TypedArray.getDrawable(TypedArray.java:601)  
                     at android.view.View.<init>(View.java:3335)  
                     at android.widget.TextView.<init>(TextView.java:464)  
                     at android.widget.Button.<init>(Button.java:107)  
                     at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:66)  
                     at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:62)  
                     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:109)  
                     at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1021)  
                     at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1080)  
                     at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47)  
                     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:171)  
                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)  
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)  
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)  
                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)  
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)  
                     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)  
                     at us.kostenko.glagol.catalog.view.DetailBookFragment.onCreateView(DetailBookFragment.kt:56)  
                     at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)  
                     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298)  
                     at android.support.v4.app.FragmentManagerImpl.moveFragmentsToInvisible(FragmentManager.java:2323)  
                     at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2136)  
                     at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092)  
                     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1998)  
                     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:709)  
                     at android.os.Handler.handleCallback(Handler.java:725)  
                     at android.os.Handler.dispatchMessage(Handler.java:92)  
                     at android.os.Looper.loop(Looper.java:153)  
                     at android.app.ActivityThread.main(ActivityThread.java:5297)  
                     at java.lang.reflect.Method.invokeNative(Native Method)  
                     at java.lang.reflect.Method.invoke(Method 

アプリケーションは上正常に動作していますデバイスを実行しているアンドロイド5.1.1。ここで何が間違っているかもしれないかについてのいかなる考えも高く評価されます。

+0

はい、リップル効果は21より下では機能しません。 – Shekhar

+2

less/APIを実行している他のxmlファイルについては、res/layout-v21などをチェックインしてください。また、エラーは明らかにbtn_light_bgと言い、xmlは暗いので、間違ったxmlを見ていることを示すヒントです。 –

答えて

1

しかしディレクトリdrawable-v21resの下にディレクトリを作成し、21以下のAPIバージョンではdrawable-v21 下リップルで描画可能を追加し、同じ名前で描画可能を作成し、

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="false"> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <corners android:radius="2.0dp"/> 
    <solid android:color="@color/colorPrimary"/> 
    </shape> 
</item> 
<item android:state_pressed="true"> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <corners android:radius="2.0dp"/> 
    <solid android:color="@color/colorPrimaryDark"/> 
</shape> 
</item> 

以下のようdrawableディレクトリの下にそれを追加上記のリップル効果はありません

+0

ああ、間違いなく動作するはずです。ありがとう、私はそれを試してみましょう。 – AlexKost

+0

ありがとう、それは私の問題を解決! – AlexKost

関連する問題