0
votes

I am trying to add an image to my newly created app. But , when I run my app it crashes. I have written no code in my app so I am providing XML code and error log. I have used ImageViews in my previous applications. No errors were there. I have optimized my images but still, it is giving me the error.

IMAGE DETAILS

enter image description here

ERROR LOG :

09-08 16:03:02.266 15137-15137/com.example.avail.instagramclone E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.avail.instagramclone, PID: 15137 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.avail.instagramclone/com.example.avail.instagramclone.LoginActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class ImageView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257) at android.app.ActivityThread.access$800(ActivityThread.java:139) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5097) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class ImageView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) at com.example.avail.instagramclone.LoginActivity.onCreate(LoginActivity.java:15) at android.app.Activity.performCreate(Activity.java:5248) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)  at android.app.ActivityThread.access$800(ActivityThread.java:139)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5097)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  at dalvik.system.NativeStart.main(Native Method)  Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060058 at android.content.res.Resources.getValue(Resources.java:1123) at android.support.v7.widget.ResourcesWrapper.getValue(ResourcesWrapper.java:208) at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186) at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100) at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:77) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:67) at android.support.v7.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:181) at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:105) at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1035) at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1092) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)  at android.view.LayoutInflater.inflate(LayoutInflater.java:397)  at android.view.LayoutInflater.inflate(LayoutInflater.java:353)  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)  at com.example.avail.instagramclone.LoginActivity.onCreate(LoginActivity.java:15)  at android.app.Activity.performCreate(Activity.java:5248)  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)  at android.app.ActivityThread.access$800(ActivityThread.java:139)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5097)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  at dalvik.system.NativeStart.main(Native Method)

activity_main.xml :

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".LoginActivity"
    tools:layout_editor_absoluteY="25dp">

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="220dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="85dp"
        android:layout_marginTop="150dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/logo" />
</android.support.constraint.ConstraintLayout>
6
Do you have an image called logo inside your drawable folder? In what folder is it placed? Android isn't able to find some resource to inflate your ImageView, probably is this drawable. - jonathanrz
That's a png image and you are using app:srcCompat which is preferred with vector images use android:src - Killer
I solved my problem! I placed my images in Drawable-v24 folder secondly I used : android: src in the XML file. - Abuzar Rasool

6 Answers

1
votes

Please check your image drawable folder if image in drawable v21 - 2 - 3 so transfer it in only drawable folder and check it.

0
votes

Use android:src instead of app:srcCompat

0
votes

Your log file shows this line

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060058

Which indicates that the image file "logo.png" which you refer to in the XML in this line

app:srcCompat="@drawable/logo"

isn't in the correct directory. You need to place the file in one of the drawable directories depending on the resolution of the image.

More on this in this topic on the Android Developers website "Create drawables from resource images"

0
votes

use src property instead of srcCompat so use

android:src="@drawable/logo"

instead of

app:srcCompat="@drawable/logo"

also add android:layout_marginLeft="85dp" to support API version less than 17

0
votes

remove

    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"

and use

 android:src="@drawable/logo"

instead

 app:srcCompat="@drawable/logo" 
-1
votes

Just replace your image try with another image it will run fine.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="25dp">

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="220dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="85dp"
        android:layout_marginTop="150dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/logo" />
</android.support.constraint.ConstraintLayout>

if you are facing an issue plz let me know