Binary string XML file # 0: bloating error on class <unknown>
I have an error while starting the quiz. Something like this (with open gaming activity). My application stopped and I got a Binary XML file error in line No. 0. This is a bit strange because I did not see such a problem with line 0, so I need your help, everyone. Thanks!
E/AndroidRuntime: FATAL EXCEPTION: main Process: sarveshchavan777.triviaquiz, PID: 2901 java.lang.RuntimeException: Unable to start activity ComponentInfo{sarveshchavan777.triviaquiz/sarveshchavan777.triviaquiz.MainGameActivity}: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6540) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class <unknown> Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class <unknown> Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at android.view.LayoutInflater.createView(LayoutInflater.java:650) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:793) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:827) at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:827) at android.view.LayoutInflater.inflate(LayoutInflater.java:518) at android.view.LayoutInflater.inflate(LayoutInflater.java:426) at android.view.LayoutInflater.inflate(LayoutInflater.java:377) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143) at sarveshchavan777.triviaquiz.MainGameActivity.onCreate(MainGameActivity.java:36) at android.app.Activity.performCreate(Activity.java:6980) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6540) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: java.lang.UnsupportedOperationException: Can't convert value at index 1 to color: type=0x5 at android.content.res.TypedArray.getColor(TypedArray.java:473) at info.hoang8f.widget.FButton.parseAttrs(FButton.java:116) at info.hoang8f.widget.FButton.<init>(FButton.java:52) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at android.view.LayoutInflater.createView(LayoutInflater.java:650) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:793) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:827) at android.view.LayoutInflater.rInflate(LayoutInflater.java:869) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:827) at android.view.LayoutInflater.inflate(LayoutInflater.java:518) at android.view.LayoutInflater.inflate(LayoutInflater.java:426) at android.view.LayoutInflater.inflate(LayoutInflater.java:377) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143) at sarveshchavan777.triviaquiz.MainGameActivity.onCreate(MainGameActivity.java:36) at android.app.Activity.performCreate(Activity.java:6980) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6540) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Where MainGameActivity.java:36: setContentView(R.layout.activity_game_main);
activity_game_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fbutton="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/backgroundColor" android:orientation="vertical" tools:context="sarveshchavan777.triviaquiz.MainGameActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/lightGreen" android:minHeight="?actionBarSize"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="0dp"> <TextView android:id="@+id/triviaQuizText" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="@string/app_name" android:textColor="@color/white" android:textSize="25sp" android:layout_toLeftOf="@+id/timeText" android:layout_toRightOf="@+id/coinText" /> <TextView android:id="@+id/timeText" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:paddingLeft="10dp" android:gravity="center" android:paddingRight="10dp" android:text="@string/time" android:textSize="20sp" /> </RelativeLayout> </android.support.v7.widget.Toolbar> <View android:layout_width="match_parent" android:layout_height="10dp"></View> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight=".5" android:background="@color/white" android:orientation="vertical"> <TextView android:id="@+id/triviaQuestion" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:gravity="center" android:text="@string/question" android:textColor="@color/grey" android:textSize="18sp" /> <TextView android:id="@+id/resultText" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="" android:textColor="@color/green" android:textSize="30sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:orientation="vertical"> <info.hoang8f.widget.FButton android:id="@+id/buttonA" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:onClick="buttonA" android:text="" android:textColor="@color/grey" fbutton:buttonColor="@color/white" fbutton:cornerRadius="10dp" fbutton:shadowColor="@color/grey" /> <info.hoang8f.widget.FButton android:id="@+id/buttonB" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:onClick="buttonB" android:text="" android:textColor="@color/grey" fbutton:buttonColor="@color/white" fbutton:cornerRadius="10dp" fbutton:shadowColor="@color/grey" /> <info.hoang8f.widget.FButton android:id="@+id/buttonC" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:onClick="buttonC" android:text="" android:textColor="@color/grey" fbutton:buttonColor="@color/white" fbutton:cornerRadius="10dp" fbutton:shadowColor="@color/grey" /> <info.hoang8f.widget.FButton android:id="@+id/buttonD" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="10dp" android:onClick="buttonD" android:text="" android:textColor="@color/grey" fbutton:buttonColor="@color/white" fbutton:cornerRadius="10dp" fbutton:shadowColor="@color/grey" /> </LinearLayout> </LinearLayout> What is the problem?
The problem is with the library itself, if you attrs.xml :
<attr name="buttonColor" format="color" /> As you can see, buttonColor accepts only the color value, NOT , and the view tries to convert the reference value that you pass in xml to color, and it throws an exception. Therefore, you can only use the color for this attribute (for example: # 000000) or expand the project and modify attrs.xml as follows:
<attr name="buttonColor" format="color|reference" /> 