uncleleonfan/FanChat

请问 为什么我基本上都是使用您的编码逻辑和代码,但是加载头像报错?

Closed this issue · 3 comments

Y-JH commented

请问 为什么我基本上都是使用您的编码逻辑和代码,但是加载头像报错?错误是这样的:
FATAL EXCEPTION: main
Process: com.jiujia.cn, PID: 5929
java.lang.NoSuchMethodError: No virtual method load(Ljava/lang/String;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/com.jiujia.cn-2/split_lib_dependencies_apk.apk:classes38.dex)
at com.hyphenate.easeui.utils.EaseUserUtils.setUserAvatar(EaseUserUtils.java:46)
at com.hyphenate.easeui.widget.chatrow.EaseChatRow.setUpBaseView(EaseChatRow.java:119)
at com.hyphenate.easeui.widget.chatrow.EaseChatRow.setUpView(EaseChatRow.java:94)
at com.hyphenate.easeui.adapter.EaseMessageAdapter.getView(EaseMessageAdapter.java:265)
at android.widget.AbsListView.obtainView(AbsListView.java:2411)
at android.widget.ListView.makeAndAddView(ListView.java:1986)
at android.widget.ListView.fillSpecific(ListView.java:1405)
at android.widget.ListView.layoutChildren(ListView.java:1726)
at android.widget.AbsListView.onLayout(AbsListView.java:2210)
at android.view.View.layout(View.java:17688)
at android.view.ViewGroup.layout(ViewGroup.java:5631)

辛苦帮解答一下,谢谢

您好,设置头像的逻辑是您自己写的哦,看log跟代码没太大关系,跟打包有关系,您可以尝试clean一下项目或者检查一下是否重复添加Glide依赖

Y-JH commented

对的 , 我确实看到代码中使用Glide图片的加载,但是在您的项目代码的 build.gradle 中我没有找到对Glide的依赖或者引入的痕迹。如果我自己import您的项目代码,显示是没有Glide,但是如果我自己再重新引入一个Glide但是就没有您easeui的代码中像:
public static void setUserAvatar(Context context, String username, ImageView imageView){
EaseUser user = getUserInfo(username);
if(user != null && user.getAvatar() != null){
try {
int avatarResId = Integer.parseInt(user.getAvatar());
Glide.with(context).load(avatarResId).into(imageView);
} catch (Exception e) {
//use default avatar
Glide.with(context).load(user.getAvatar()).diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.ease_default_avatar).into(imageView);
}
}else{
Glide.with(context).load(R.drawable.ease_default_avatar).into(imageView);
}
}
这样的加载图片的方式不存在,存在的只是比较简单的Glide.with(context).load(url).into(imageView);这种。我一直想不通,请问一下原因!谢谢

Y-JH commented

然后现在我遇到一种情况,您能不能帮我解答一下,就是我完全使用您的项目代码使用您的环信appid一切正常,但是换成我的appid的时候出现了情况:A登陆找B聊天,A和B聊天,存在很多聊天记录,然后A退出,再次登陆并找B聊天的时候A的聊天记录就不见了。。。。请问为什么呢?