Error inflating class com.facebook.drawee.view.SimpleDraweeView问题的解决

来源:互联网 发布:java int 除法取整 编辑:程序博客网 时间:2024/06/06 16:26

刚刚遇到的一个小问题,在引用 ‘com.facebook.fresco:fresco:0.6.0’ 库后,在布局中使用

       <com.facebook.drawee.view.SimpleDraweeView            android:layout_width="150dp"            android:layout_height="150dp"            android:background="@null"            android:id="@+id/drawee_view"            android:layout_alignParentLeft="true"            app:viewAspectRatio="1" />
  1. 结果出现了 Binary XML file line #22: Error inflating class
    com.facebook.drawee.view.SimpleDraweeView 的错误。

  2. 上网查了一下,报错的原因是这里是没有引用到com.facebook.drawee.view.SimpleDraweeView,所以需要对它进行初始化。

解决方法一

把初始化Fresco调整到setContentView(R.layout.activity_main);的上边 ,具体如下

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //初始化Fresco        Fresco.initialize(MainActivity.this);        setContentView(R.layout.activity_resign);        initView();    }

解决方法二

可以写一个Fresco的APPlication,方法如下:

import android.app.Application;import com.facebook.drawee.backends.pipeline.Fresco;/** * Fresco的初始化 * * Created by Gxs on 2016/7/24. */public class Fresco extends Application {    @Override    public void onCreate() {        super.onCreate();        Fresco.initialize(this);    }}

需要在AndroidManifest.xml清单文件中引用一下,具体如下:

    <application        android:name=".widget.Fresco"         android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">

在application 下添加 上 android:name=”.widget.Fresco” 就可以啦。

2 0
原创粉丝点击