java - 数据没有从 firebase 传到我的应用程序
问题描述
我正在尝试将图像和名称从 Firebase 数据库加载到我的应用程序中,RecyclerView
但是当我运行它时,它没有显示图像和名称且没有错误,这是我的代码。
//Load menu
recycler_menu=(RecyclerView)findViewById(R.id.recycler_menu);
recycler_menu.setHasFixedSize(true);
layoutManager= new LinearLayoutManager(this);
recycler_menu.setLayoutManager(layoutManager);
loadMenu();
}
private void loadMenu(){
FirebaseRecyclerOptions<Category> options = new FirebaseRecyclerOptions.Builder<Category>().setQuery(category, Category.class).build();
FirebaseRecyclerAdapter<Category, MenuViewHolder> adapter= new FirebaseRecyclerAdapter<Category, MenuViewHolder>(options){
@Override
public MenuViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.menu_item, parent, false);
MenuViewHolder viewHolder = new MenuViewHolder(view);
return viewHolder;
}
@Override
protected void onBindViewHolder(MenuViewHolder holder, int position, Category model) {
holder.txtMenuName.setText(model.getName());
Picasso.with(getBaseContext()).load(model.getImage()).into(holder.imageView);
}
};
recycler_menu.setAdapter(adapter);
}
我的代码运行良好,但没有显示图像和名称,显示的是空白活动。请帮忙。
解决方案
只需添加adapter.startListening()
您OnStart
以启动数据侦听器并adapter.stopListening()
以onStop
这种方式停止它:
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
推荐阅读
- html - 修改 blogdown webst 的 font-title
- variables - 来自具有动态值的 HTML 属性的 LESS 变量
- html - Bootsrap 4使用Angular 8将输入文本作为只读响应
- dataweave - Dataweave 中的尾递归
- matlab - 如何修复“索引超过数组元素的数量 (1)”错误?
- xml - 需要根据其中一个 XML 标签更改编码格式
- java - 调用内部带有 for 循环的方法,而不是更新变量
- javascript - Discord Bot 生成错误:“消息未定义”
- c++ - 指向 C++ 中函数的指针,(*pf)() 和 pf 是否相同?
- bash - 了解为什么 git-filter-branch 没有清理我的历史记录