java - firebaserecycleradapter 中的 firebaserecycleradapter() 不能应用于
问题描述
同样的错误不断出现。我猜他们现在改变了它的工作方式,但由于我是菜鸟,我真的需要帮助来修复它。
private void loadMenu() {
adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>
(Category.class, R.layout.menu_item, MenuViewHolder.class, category) {
@NonNull
@Override
public MenuViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
}
@Override
protected void onBindViewHolder(@NonNull MenuViewHolder viewHolder, int position, @NonNull Category model) {
viewHolder.txtMenuName.setText(model.getNama());
Picasso.get().load(model.getImage()).into(viewHolder.imageView);
final Category clickItem = model;
viewHolder.setItemClickListener(new ItemClickListener() {
@Override
public void onClick(View view, int position, boolean isLongClick) {
//get Category Id and Send to new Activity
Intent foodlist = new Intent(Home.this, FoodList.class);
foodlist.putExtra("CategoryId",adapter.getRef(position).getKey());
startActivity(foodlist);
}
});
}
“(Category.class, R.layout.menu_item, MenuViewHolder.class, category)” 这行是红色的,它表示 FirebaseRecyclerAdapter 中的 FirebaseRecyclerAdapter() 不能应用于(这里有一堆代码)。
解决方案
将FirebaseRecyclerAdapter
a 绑定Query
到 RecyclerView。添加、删除或更改数据时,这些更新会自动实时应用于您的 UI。
首先,通过构建配置适配器FirebaseRecyclerOptions
:
FirebaseRecyclerOptions<Category> options =
new FirebaseRecyclerOptions.Builder<Category>()
.setQuery(category, Category.class)
.build();
接下来创建FirebaseRecyclerAdapter
对象。您应该已经有一个 ViewHolder 子类来显示每个项目。
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>(options) {
@Override
public ChatHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// Create a new instance of the ViewHolder, in this case we are using a custom
// layout called R.layout.menu_item for each item
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.menu_item, parent, false);
return new MenuViewHolder(view);
}
@Override
protected void onBindViewHolder(MenuViewHolder holder, int position, Category model) {
// Bind the Chat object to the ChatHolder
// ...
}
};
您可以在这里找到更多信息:
推荐阅读
- javascript - 我如何在反应应用程序中使用本地文件而不导入它们
- python - 如何根据键组合字典列表
- python - 如何将范围列表转换为具有不同名称的自己的单独列表?
- javascript - 无法在同一窗口中重定向到“Eyes.html”
- javascript - 如何通过单击按钮触发 javascript
- javascript - map.set - array.slice 返回太多项目
- wordpress - 在标签存档页面上错误地显示标签
- java - 使用黄瓜和小黄瓜运行自动化测试时如何修复“无法加载浏览器:null”(NPE)
- python - 如何检查自定义登录的用户名和密码
- tensorflow - Tensorflow-alpha-gpu 问题 ImportError: DLL load failed: 找不到指定的模块