我尝试在我的 fragment onViewCreated 方法中从 database 检索数据,我使用了 FirebaseRecylerAdapter,如下所示
I'm try to retrieve datafrom database in my fragment onViewCreated method I have used FirebaseRecylerAdapter like below
@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 方法只给如下方法
when I use firebaseRecyclerAdapter = new FirebaseRecyclerAdapter it wont give me the populateViewHolder method just give method like below
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; } };谁能告诉我为什么会这样
Can someone please tell me why this is happening
推荐答案Firebase...Adapter 类的构造函数在 FirebaseUI 版本 3 中已更改.鉴于此查询:
The constructor of the Firebase...Adapter classes has changed in FirebaseUI version 3. Given this query:
Query query = FirebaseDatabase.getInstance() .getReference() .child("users") .equalTo(name);如果您使用的是版本 3 或更高版本,则使用 FirebaseRecyclerOptions:
If you're using a version 3 or higher, you use FirebaseRecyclerOptions:
FirebaseRecyclerOptions<model_class_name> options = new FirebaseRecyclerOptions.Builder<model_class_name>() .setQuery(query, model_class_name.class) .build();然后声明一个 FirebaseRecyclerAdapter:
Then declare a FirebaseRecyclerAdapter:
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {添加变量 options 如上.它是 FirebaseRecyclerOptions
add the variable options as above. It is the variable of the class FirebaseRecyclerOptions
然后要添加项目,您必须使用 onBindViewHolder,因为它是最新版本的 firebase ui:
Then to add items you have to use onBindViewHolder since its the latest version of firebase ui:
@Override protected void onBindViewHolder(Holder holder, int position, model_class_name model) { // Bind the class object to the holder // ... }有关更多信息,请查看:github/firebase/FirebaseUI-Android/tree/master/database
For more info check this: github/firebase/FirebaseUI-Android/tree/master/database
更多推荐
为什么我不能使用 populateViewHolder 覆盖方法?
发布评论