首页 文章

为什么我不能使用populateViewHolder覆盖方法?

提问于
浏览
3

我尝试从 fragment onViewCreated 方法中检索 database 中的数据我使用了 FirebaseRecylerAdapter ,如下所示

@Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        FirebaseRecyclerAdapter<AllUsers, AllUsersViewHolder> firebaseRecyclerAdapter;
    }

    public static class AllUsersViewHolder extends RecyclerView.ViewHolder {

        View view;

        public AllUsersViewHolder(View itemView) {
            super(itemView);
            view = itemView;
        }
    }

当我使用 firebaseRecyclerAdapter = new FirebaseRecyclerAdapter 它不会给我 populateViewHolder 方法只是给出如下方法

FirebaseRecyclerAdapter<AllUsers, AllUsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<AllUsers, AllUsersViewHolder>() {
            @Override
            protected void onBindViewHolder(AllUsersViewHolder holder, int position, AllUsers model) {

            }

            @Override
            public AllUsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
                return null;
            }
        };

有人可以告诉我为什么会这样

1 回答

  • 7

    在FirebaseUI版本3中, Firebase...Adapter 类的构造函数已更改 . 给定此查询:

    Query query = FirebaseDatabase.getInstance()
        .getReference()
        .child("users")
        .equalTo(name);
    

    如果您使用的是版本3或更高版本,则使用 FirebaseRecyclerOptions

    FirebaseRecyclerOptions<model_class_name> options =
                new FirebaseRecyclerOptions.Builder<model_class_name>()
                        .setQuery(query, model_class_name.class)
                        .build();
    

    然后声明一个FirebaseRecyclerAdapter:

    FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {
    

    如上所述添加变量 options . 它是类 FirebaseRecyclerOptions 的变量

    然后添加项目,你必须使用 onBindViewHolder ,因为它的最新版本的firebase ui:

    @Override
    protected void onBindViewHolder(Holder holder, int position, model_class_name model) {
        // Bind the class object to the holder
        // ...
    }
    

    有关更多信息,请查看:https://github.com/firebase/FirebaseUI-Android/tree/master/database

相关问题