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

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

 @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); FirebaseRecyclerAdapter firebaseRecyclerAdapter; } public static class AllUsersViewHolder extends RecyclerView.ViewHolder { View view; public AllUsersViewHolder(View itemView) { super(itemView); view = itemView; } } 

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

 FirebaseRecyclerAdapter firebaseRecyclerAdapter = new FirebaseRecyclerAdapter() { @Override protected void onBindViewHolder(AllUsersViewHolder holder, int position, AllUsers model) { } @Override public AllUsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return null; } }; 

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

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

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

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

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

然后声明一个FirebaseRecyclerAdapter:

 FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter(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