【发布时间】:2020-07-06 19:53:50
【问题描述】:
我正在使用 android studio (SDK 29) 用 java 制作一个 android 应用程序。一旦我进入搜索屏幕,就会显示所有用户。但是一旦我输入用户的昵称,他们就会消失,而不是显示我搜索过的那个。
我运行调试器以更好地了解正在发生的事情,一旦我在搜索字段中输入昵称,调试器就会显示以下消息:
W/Glide:未能找到 GeneratedAppGlideModule。您应该在应用程序中包含对 com.github.bumptech.glide:compiler 的 annotationProcessor 编译依赖项,并且 @GlideModule 注释的 AppGlideModule 实现或 LibraryGlideModules 将被静默忽略 I/censapplicio: 编译器分配 4MB 来编译 void android.widget.TextView.(android.content.Context, android.util.AttributeSet, int, int) I/AssistStructure:扁平化最终辅助数据:5580 字节,包含 1 个窗口,23 个视图 W/ExifInterface:停止读取文件,因为错误的偏移量可能导致无限循环:0 W/ExifInterface:停止读取文件,因为错误的偏移量可能导致无限循环:0 D/ViewRootImpl@7a531ea[UserProfile]: MSG_RESIZED: frame=[0,0][1080,2340] ci=[0,83][0,126] vi=[0,83][0,1003] or=1 W/Glide:加载失败,尺寸为 [131x131] com.bumptech.glide.load.engine.GlideException 类:加载资源失败 I/censapplicio: 编译器分配 4MB 来编译 void android.view.ViewRootImpl.performTraversals() 与目标VM断开连接,地址:'localhost:8603',传输:'socket'
这是我将 Glide 调用到适配器的代码行:
Glide.with(mContext).load(user.getImage()).into(viewHolder.image_profile);
这是我的方法 SearchUsers():
private void searchUsers(String s){
Query query = FirebaseDatabase.getInstance().getReference("Users").orderByChild("nickname")
.startAt(s)
.endAt(s+"\uf8ff");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
mUsers.clear();
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
User user = snapshot.getValue(User.class);
mUsers.add(user);
}
userAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
我检查了 10 多个可能的解决方案,但没有一个有效。
我不确定错误是来自代码本身还是与 Glide 的依赖关系相关的任何问题。
【问题讨论】:
-
您没有生成 AppGlideModule。这可能会帮助你stackoverflow.com/a/46638213/10182897
-
好的,谢谢,让我试试。我会及时通知你。
-
抱歉,Ashish,我对 android studio 有点陌生,我并没有真正遵循链接的答案所说的内容。你能分步骤解释我必须做什么吗?我如何生成 AppGlideModule?我看到了 glide 的文档,但没有分步解释。提前感谢您,感谢您的关注。
-
好的,我会发布适当的详细信息
-
只要确保添加正确的滑翔模块代码
标签: java android search android-glide