我做了一个Android应用程序与java使用Android Studio(SDK 29)。一旦我进入搜索屏幕,所有的用户都显示出来。但是一旦我输入用户的昵称,他们都消失了,没有显示我搜索过的那个。
我运行调试器以更好地了解发生了什么,在搜索字段中键入昵称后,调试器将显示以下消息:
W/Glide:找不到GeneratedAppGlideMoules失败。您应该在您的应用程序中包含一个注释处理器对com.github.bumptech.glide的编译依赖:编译器和一个@GlideMoules注释的AppGlideMoules实现或LibraryGlideModules将被默默忽略。我/审查应用程序:编译器分配了4MB来编译无效android.widget.文本视图。(android.content.上下文,android.util.AtiniteSet, int, int)I/辅助结构:扁平最终辅助数据: 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.GlideExcture:加载失败编译器分配4MB编译无效android.view.ViewRootImpl.performTraversals()与目标VM断开连接,地址:localhost:8603,传输:套接字
下面是我在适配器中调用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多个可能的解决方案,但没有一个有效。
我不确定这个bug是源于代码本身还是与Glide的依赖性相关的任何问题。
第一个导入注释:
repositories {
mavenCentral()
}
dependencies {
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}
同步项目然后创建类
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public class GlideApp extends AppGlideModule {
}
然后,我构建/重建项目
如我所见,您使用firebase store时,请使用以下模块:
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
@Override
public void registerComponents(Context context, Glide glide, Registry registry) {
// Register FirebaseImageLoader to handle StorageReference
registry.append(StorageReference.class, InputStream.class,
new FirebaseImageLoader.Factory());
}
}
我在StackOverflow上看到了一些类似的事件。然而,这些似乎都不适用于我的情况。我遇到的问题是,我的RecyclerView正在工作,但没有显示任何内容。我已经运行了多个测试,试图找出它不工作的原因,但所有测试都支持它正常工作的事实。 getItemCount中的日志返回3,这是正确的数字。我只是不明白为什么它没有显示。我回头看了我在以前的活动中做的回收器视图,它们都在一定程度上匹配(其他
昵称 可变更初始设定时选择的昵称。
因为合约的名字是一个很长的哈希值,不容易辨认和记忆。 平台提供了昵称功能,可以为合约注册昵称。且可以注册查询页面和操作页面,更加方便用户执行合约。昵称功能是由合约c514cb497286b0ff206c6fae74634f6f546f43fab823fd87bf6fcb1616ce9665提供。 注册完昵称后,可以注册查询页面和操作页面 查询页面:用于查询已经存在数据库中的数据,并将其显示在页面上
没有显示在屏幕上,只是显示白色背景。 有什么错误吗?请告诉我,谢谢。 片断 我只想显示上的项目。
这是一个XML,当我使用ScrollViewRecyclerView,如果不在XML 那么原因是什么呢?
我试图在一个对话框中的recyclerView中显示数据,数据是从HTTP请求获取的。 我验证了适配器是否获得了数据——我在适配器中打印了数组长度,结果很好,但由于某些原因它不会显示数据——我所能看到的只是一个空白区域,recyclerView应该在那里。 重要提示:该应用程序运行良好,运行时没有错误或其他问题,回收器视图不存在。 xmi文件: