为什么我不能使用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
- 来自Java而不是Firebase控制台的Firebase Cloud Messaging通知
- 如何使用Firebase Google Maps API Android中的数据更新标记位置
- Firebase电子邮件和密码validation与Android – 用户注册
- 减少Firestore Android中的读取次数
- 如何使用Java程序将数据写入firebase
- 在Firebase中设置onDataChange内的变量(singleValue Listener)
- Firebase阅读问题。 对象始终为null
- Firebase云消息传递API弹簧
- NoSuchMethodError:将Firebase与应用引擎应用集成