1

So I've been building an app with sdk26 but testing on an api23, now that I've tried running on an emulator and android device on api26 I keep getting "Binary XML file line #0: Error inflating class TextView" error.

Here's the code for the xml file it's crashing on.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/enter_competition_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="eventvoter.carter.eventrr.EnterCompetition">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/elements"
            android:layout_width="match_parent"
            android:layout_height="176dp"
            android:layout_weight=".8"
            app:src="@drawable/elements" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="49dp"
            android:gravity="center"
            android:text="WHAT IS YOUR ELEMENT?"
            android:textColor="@color/Black"
            android:textStyle="bold"
            android:textSize="20dp"/>

        <TextView
            android:id="@+id/Vocalist"
            android:layout_width="match_parent"
            android:layout_height="162dp"
            android:background="@drawable/voc_crop_comp"
            android:fontFamily="@font/new_font"
            android:text="Vocalist/MC"
            android:textColor="@color/White"
            android:textStyle="bold"
            android:gravity="center"
            android:textSize="@dimen/small_text" />

        <TextView
            android:id="@+id/BeatProducer"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:layout_weight="1"
            android:background="@drawable/beat_crop_comp"
            android:fontFamily="@font/new_font"
            android:gravity="center"
            android:textStyle="bold"
            android:text="Beat Producer"
            android:textColor="@color/White"
            android:textSize="@dimen/small_text" />

        <TextView
            android:id="@+id/DanceGroup"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:fontFamily="@font/new_font"
            android:gravity="center"
            android:textStyle="bold"
            android:text="Dance Group"
            android:textColor="@color/White"
            android:textSize="@dimen/small_text"
            android:background="@drawable/dancegroup_crop_comp"
            android:layout_weight="1" />

        <TextView
            android:id="@+id/SoloDance"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:fontFamily="@font/new_font"
            android:gravity="center"
            android:textStyle="bold"
            android:text="Solo Dance/B-Boy"
            android:textColor="@color/White"
            android:textSize="@dimen/small_text"
            android:layout_weight="1"
            android:background="@drawable/solodancer_crop_comp"/>

        <TextView
            android:id="@+id/Grafitti"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:fontFamily="@font/new_font"
            android:gravity="center"
            android:textStyle="bold"
            android:text="Visual Arts/Graffiti"
            android:textColor="@color/White"
            android:textSize="@dimen/small_text"
            android:background="@drawable/visualarts_comp"
            android:layout_weight="1"/>


    </LinearLayout>
</LinearLayout>

The crash points to these lines of my main class code.

 public void createEnterCompView() {


    setContentView(R.layout.activity_enter_competition);

    TextView vocalist = (TextView) findViewById(R.id.Vocalist);
    TextView beatproducer = (TextView) findViewById(R.id.BeatProducer);
    TextView dancegroup = (TextView) findViewById(R.id.DanceGroup);
    TextView solodance = (TextView) findViewById(R.id.SoloDance);
    TextView visualarts = (TextView) findViewById(R.id.Grafitti);
    ImageView elements = (ImageView) findViewById(R.id.elements);

}

Here's the crash

FATAL EXCEPTION: main Process: eventvoter.carter.eventrr, PID: 11514 android.view.InflateException: Binary XML file line #0: Binary XML file line #0: Error inflating class TextView Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class TextView Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at android.support.v4.graphics.TypefaceCompatApi26Impl.addFontFromAssetManager(TypefaceCompatApi26Impl.java:150) at android.support.v4.graphics.TypefaceCompatApi26Impl.createFromFontFamilyFilesResourceEntry(TypefaceCompatApi26Impl.java:218) at android.support.v4.graphics.TypefaceCompat.createFromResourcesFamilyXml(TypefaceCompat.java:116) at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:249) at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:213) at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:206) at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119) at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208) at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152) at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38) at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:81) at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:71) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103) at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024) at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.rInflate(LayoutInflater.java:866) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) at android.view.LayoutInflater.inflate(LayoutInflater.java:515) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) at eventvoter.carter.eventrr.MainMenu.createEnterCompView(MainMenu.java:302) at eventvoter.carter.eventrr.MainMenu$5.onClick(MainMenu.java:280) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24697) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) 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.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.support.v4.graphics.TypefaceCompatApi26Impl.addFontFromAssetManager(TypefaceCompatApi26Impl.java:145) at android.support.v4.graphics.TypefaceCompatApi26Impl.createFromFontFamilyFilesResourceEntry(TypefaceCompatApi26Impl.java:218)  at android.support.v4.graphics.TypefaceCompat.createFromResourcesFamilyXml(TypefaceCompat.java:116)  at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:249)  at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:213)  at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:206)  at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)  at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)  at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152)  at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)  at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:81)  at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:71)  at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)  at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)  at eventvoter.carter.eventrr.MainMenu.createEnterCompView(MainMenu.java:302)  at eventvoter.carter.eventrr.MainMenu$5.onClick(MainMenu.java:280)  at android.view.View.performClick(View.java:6256)  at android.view.View$PerformClick.run(View.java:24697)  at android.os.Handler.handleCallback(Handler.java:789)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  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.NullPointerException at android.graphics.FontFamily.nAddFontFromAssetManager(Native Method) at android.graphics.FontFamily.addFontFromAssetManager(FontFamily.java:149) at java.lang.reflect.Method.invoke(Native Method)  at android.support.v4.graphics.TypefaceCompatApi26Impl.addFontFromAssetManager(TypefaceCompatApi26Impl.java:145)  at android.support.v4.graphics.TypefaceCompatApi26Impl.createFromFontFamilyFilesResourceEntry(TypefaceCompatApi26Impl.java:218)  at android.support.v4.graphics.TypefaceCompat.createFromResourcesFamilyXml(TypefaceCompat.java:116)  at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:249)  at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:213)  at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:206)  at android.support.v7.widget.TintTypedArray.getFont(TintTypedArray.java:119)  at android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208)  at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:152)  at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:38)  at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:81)  at android.support.v7.widget.AppCompatTextView.(AppCompatTextView.java:71)  at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:103)  at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)  at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)  at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)  at eventvoter.carter.eventrr.MainMenu.createEnterCompView(MainMenu.java:302)  at eventvoter.carter.eventrr.MainMenu$5.onClick(MainMenu.java:280)  at android.view.View.performClick(View.java:6256)  at android.view.View$PerformClick.run(View.java:24697)  at android.os.Handler.handleCallback(Handler.java:789)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  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) 

Gradle

apply plugin: 'com.android.application'

android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion 26
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "eventvoter.carter.eventrr"
        minSdkVersion 21
        targetSdkVersion 26
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'
    }
  }
}

dependencies {


implementation 'com.android.support.constraint:constraint-layout:1.0.2'
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':httpclient-4.5.3')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:26.1.0'
compile project(':universal-image-loader-1.9.5 (1)')
compile project(':okhttp-3.9.0')
compile 'com.facebook.android:facebook-login:4.28.0'
compile 'com.google.gms:google-services:3.1.2'
//noinspection GradleCompatible
implementation 'com.google.firebase:firebase-auth:11.6.0'
implementation 'com.google.android.gms:play-services-auth:11.6.0'
compile 'com.github.bumptech.glide:glide:4.3.1'

}

apply plugin: 'com.google.gms.google-services'
10
  • share your gradle Commented Nov 30, 2017 at 5:12
  • also check for your font Commented Nov 30, 2017 at 5:13
  • don't use camel case for define view's is. check once your textview style. Commented Nov 30, 2017 at 5:15
  • 2
    your issue in may be android:fontFamily.. Temporary remove and check it Commented Nov 30, 2017 at 5:21
  • 1
    Possible duplicate of How to change fontFamily of TextView in Android Commented Nov 30, 2017 at 5:38

1 Answer 1

4

I got similar crash

InflateException: Binary XML file line #0: Error inflating class EditText

in Android 8.0 and 8.1 in release apk due to xml fonts cause I didn't use latest support libs, I update support library version and it's fixed.

xml having

<EditText
        android:id="@+id/editEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFamily="@font/sanfranciscodisplay_medium"
        android:hint="@string/enter_email_address"
        android:lines="1"
        android:inputType="textEmailAddress"
        android:layout_centerHorizontal="true"/>

My gradle configs

BUILD_TOOLS_VER = '26.0.2'

TARGET_SDK_VER = 26
MIN_SDK_VER = 19

SUPPORT_LIBS_VER = '26.1.0' -> '27.0.2' (fix here)
GOOGLE_SERVICES_VER = '11.4.0' -> '11.8.0'
Sign up to request clarification or add additional context in comments.

1 Comment

What's about AnrdoidX?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.