Meneer Venus
Meneer Venus

Reputation: 1045

InflateException: Binary XML file line #22: Error inflating class <unknown>

When i try to run my application it crashes and i get the following in logcat:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.application/com.example.application.StartActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>

.....

Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>

.....

Caused by: java.lang.reflect.InvocationTargetException

.....

Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1

the error also includes to a line in my own code where i set the content view

this is the xml file i reference to

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">



            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="200dp">

                <TextView
                    android:id="@+id/summonerName"
                    android:layout_width="439dp"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:gravity="center_vertical"
                    android:hint="@string/prompt_email"
                    android:textSize="?android:textAppearanceLarge"
                    android:singleLine="true" />

                <Spinner
                    android:id="@+id/region"
                    android:layout_width="83dp"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@id/summonerName"
                    android:layout_alignParentRight="true"
                    />

            <Button
                android:id="@+id/btnSearch"
                style="?android:textAppearanceSmall"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:background="#777"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:text="@string/action_sign_in"
                android:textColor="#FFF"
                android:textStyle="bold" />

            </RelativeLayout>
        </LinearLayout>


<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#f3f3f4"
    android:choiceMode="singleChoice"
    android:divider="#dadadc"
    android:dividerHeight="1dp"/>

I have no clue what to do with these errors. Can anyone help me onto the right track?

Upvotes: 7

Views: 15857

Answers (4)

Sonu Sourav
Sonu Sourav

Reputation: 3504

For me, it was because the layout was using android:theme="@style/AppTheme" in parent Linear Layout. The App theme was defined as:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="actionBarTheme">@color/colorAccent</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:textColorHint">@color/white</item>

I removed it and everything worked fine.

Upvotes: 0

Suresh Parmar
Suresh Parmar

Reputation: 823

It might be cause of using high resolution drawable resources.check out drawable file resolutions.

Upvotes: 0

Tom Groentjes
Tom Groentjes

Reputation: 1103

I had the same problem,

problem was that I used a DrawerLayout and that my minSDK was set to below 14. changing that fixed the problem. The android support and appcompat packages for some reason allow you to use the DrawerLayout, but the DrawerLayout definitions for layouts are missing.

changing the minSDK to 14 fixed the issue.

Upvotes: 0

Owain van Brakel
Owain van Brakel

Reputation: 3349

All your @dimens should be defined

for example

<resources>
    <!-- Default margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

You might have added those in for example these folders

  • values-sw600dp
  • values-sw600dp-land
  • values-v19
  • values-xxhdpi

Or any other folder of course where they could belong
But don't forget that those also have to be in

  • values

They have to be also defined there

if that isn't the problem try to create a value-XXXX folder for every layout-XXXX folder you have

  • layout-xhdpi
  • values-xhdpi

And

  • layout-large
  • values-large

for example

Upvotes: 2

Related Questions