android.view.inflateexception binary xml file line #1 error inflating class android.widget.relativeLayout
Solution 1
You have to change
android:background="@layout/activity_main"
to
android:background="@drawable/yourImageName"
Solution 2
Sometimes this error can also pop up when you are using a large image that is actually too big that leads to a memory error and crashes your app. If you are using background images or any large assets make sure they exist and that they aren't too big and then you'll be singing in the rain!
Solution 3
this line is indicating the first line of the layout:
android.view.InflateException: Binary XML file line #1: Error inflating class
and at the first line there is Relative layout declaration:
So The error is on android:background
, and This is not the correct way to set background of layout:
android:background="@layout/activity_main"
it should be a color or drawable image
android:background="@color/backgroundColor"
or android:background="#012345"
or
android:background="@drawable/backgroundimg"
Solution 4
This is wrong android:background="@layout/activity_main"
should be
android:background="@color/backgroundColor"
or
android:background="@drawable/backgroundimg"
Solution 5
What fixed it in my case was to change the location of my color.xml
As I copied it from some other project of mine and pasted it in the new project, Android Studio placed it in the v21
folder, meaning my emulator (v19) could not reach the resource file color.xml
.
I did the following to fix it:
- Right click on
color.xml
. - Select
Refactor
>Move
. - On the dialog that open, removed the suffix
-v21
.
Now, my "old" emulator was able to read the file.
I hope it helps..
Related videos on Youtube
jazz b
Updated on July 09, 2022Comments
-
jazz b almost 2 years
I am new in android.
I just made a new layout with one text bar and 2 buttons but it didn't work, I am posting the stack trace and my relative layout file any idea about this? I saw the same question there which says to decrease the draw able size. But it didn't help in my case or I didn't now much about how to decrease it. Here is some of my stack trace:D/AndroidRuntime(1192): Shutting down VM W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb60cc4f0) E/AndroidRuntime(1192): FATAL EXCEPTION: main E/AndroidRuntime(1192): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomissworld/com.example.hellomissworld.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout E/AndroidRuntime(1192):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 12-24 18:58:31.451: E/AndroidRuntime(1192): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 12-24 18:58:31.451: E/AndroidRuntime(1192): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 12-24 18:58:31.451: E/AndroidRuntime(1192): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
and that is the xml file of lay out :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@layout/activity_main" android:focusable="false" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_marginTop="24dp" android:ems="10" android:inputType="text" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_alignParentTop="true" android:text="@string/typehere" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText1" android:text="@string/ok" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText1" android:layout_toLeftOf="@+id/button2" android:text="@string/cancel" /> </RelativeLayout>
-
Piyush over 10 years@jazzb Yes this is the reason because layout are used for Activity to display on the Screen.
-
jazz b over 10 yearsbut when i go to drawable/activity_main it can't find the resourse
-
Piyush over 10 yearsHere activity_main is layout name. But you have to give there your imagename which is in drawable folder. See my updated answer
-
Piyush over 10 yearsOh..Its my pleasure..Wel come
-
Jared Burrows about 9 yearsThat has nothing to do with this issue.
-
CHarris about 8 yearsThis fixed it for me, thanks. Same thing, copied from other project. The addition to my folder names was different to yours - mine was with the suffix w820dp
-
hjchin over 6 yearsOh.. this comment helps me a lot! Thank you!