首页 > 解决方案 > FirebaseRecyclerAdapter 无法应用

问题描述

在此处输入图像描述

private void loadMenu() {
        FirebaseRecyclerOptions<Category> options=new FirebaseRecyclerOptions.Builder<Category>().setQuery(category,Category.class).build();
        FirebaseRecyclerAdapter<Category, MenuViewHolder> adapter=new FirebaseRecyclerAdapter<Category, MenuViewHolder>(Category.class,R.layout.menu_item,MenuViewHolder.class,category) {
            @NonNull
            @Override
            public MenuViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
                return null;
            }

            @Override
            protected void onBindViewHolder(MenuViewHolder viewHolder, int position, Category model) {
                viewHolder.txtMenuName.setText(model.getName());
                Picasso.with(getBaseContext()).load(model.getImage())
                        .into(viewHolder.imageView);
                final Category clickItem=model;
                viewHolder.setItemClickListener(new ItemClickListener() {
                    @Override
                    public void onClick(View view, int position, boolean isLongClick) {
                        Toast.makeText(Home.this, ""+clickItem.getName(), Toast.LENGTH_SHORT).show();

                    }


                });
            }
        };
        recycler_menu.setAdapter(adapter);
    }

标签: androidandroid-recyclerview

解决方案


从错误中,您给出了错误的论点。由于您已经在使用FirebaseRecyclerOptions

  FirebaseRecyclerOptions<Category> options =
            new FirebaseRecyclerOptions.Builder<Category>()
                    .setQuery(MenuViewHolder, Category.class)
                    .build();

所以只要把那行改成这个

FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Category, MenuViewHolder>(options) {

推荐阅读