Bogdan Daniel
Bogdan Daniel

Reputation: 2759

Error inflating class com.facebook.drawee.view.SimpleDraweeView

I'm trying to use the fresco library. I used it before too and it was working, but now, for some reason I get:

Unable to start activity ComponentInfo{com.example.home.template/com.example.home.template.MainActivity}: android.view.InflateException: Binary XML file line #26: Error inflating class com.facebook.drawee.view.SimpleDraweeView

My xml file:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:fresco="http://schemas.android.com/apk/res-auto"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">


<com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/profileImage"
        fresco:actualImageScaleType="centerCrop"
        android:layout_width="200dp"
        android:layout_gravity="center_horizontal"
        android:layout_height="200dp" />
</LinearLayout>

MyApplication:

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        FacebookSdk.sdkInitialize(this);
    }
}

I have it in my manifest: android:name=".MyApplication"

The only problem that I'm having is with the draweeview. I can do all of the other stuff such as logging in and taking information.

Upvotes: 8

Views: 8993

Answers (6)

Murat Gungor
Murat Gungor

Reputation: 135

In my case writing Fresco.initialize(this);

before

setContentView(R.layout.activity_main);

Upvotes: 0

Mr B
Mr B

Reputation: 109

Make sure that you import the right Fresco library and if you do import other Fresco libraries, make sure the other libraries version number is the same with Fresco core library

Upvotes: 0

Nux
Nux

Reputation: 7098

I was getting this problem in API 19 devices just because I was using drawable vector as placeholder here

fresco:placeholderImage="@drawable/ic_phone"

After changing to PNG my problem was solved.

Dont forget to initialize it in your App as

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Fresco.initialize(this)
    }
}

as well as this line in manifest's application

android:name=".App"

Upvotes: 4

Faisal Shaikh
Faisal Shaikh

Reputation: 4167

In your Application class write the following line:

Fresco.initialize(this);

Upvotes: 0

user3853134
user3853134

Reputation: 142

Today I had the same problem. However, I forgot to add the property android:name=".MyApplication" in the AndroidManifest.xml.

Upvotes: 2

Mounir Elfassi
Mounir Elfassi

Reputation: 2252

In my case writing Fresco.initialize(this); before setContentView(R.layout.myxml); helped me.

Update:

you have FacebookSdk.sdkInitialize(this); instead of Fresco.initialize(this) in your myapplication

Upvotes: 23

Related Questions