java - 如何使用 FirebaseRecyclerAdapter

标签 java android firebase firebase-realtime-database firebaseui

@Override
public void onStart() {
    super.onStart();

    FirebaseRecyclerAdapter<AllUsers, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<AllUsers, UsersViewHolder>() {

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

        @Override
        protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull AllUsers model) {
            holder.setName(model.getName());
            holder.setStatus(model.getStatus());
        }

    };
    mUsersList.setAdapter(firebaseRecyclerAdapter);
}

public static class UsersViewHolder extends RecyclerView.ViewHolder{

    View mView;
    public UsersViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
    }

    public void setName(String name) {
        TextView mDisplayName = (TextView) mView.findViewById(R.id.display_name);
        mDisplayName.setText(name);
    }
    public void setStatus(String status) {
        TextView mDisplayStatus = (TextView) mView.findViewById(R.id.display_status);
        mDisplayStatus.setText(status);
    }
}

错误出现在以下行中,其中 () 下显示一条红线: FirebaseRecyclerAdapter<AllUsers, UsersViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<AllUsers, UsersViewHolder>() {

里面的参数应该是什么?

最佳答案

您需要执行以下操作:

DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
Query query=ref.child("Users").orderByChild("name").equalTo(name);
FirebaseRecyclerOptions<AllUsers> options =
    new FirebaseRecyclerOptions.Builder<AllUsers>()
            .setQuery(query, AllUsers.class)
            .build();

FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<AllUsers, UsersViewHolder>(options) {

首先,您需要通过构建 FirebaseRecyclerOptions 来配置适配器

AllUsers 是您的 POJO 类,您需要在回收器适配器中进行查询。

更多信息在这里:

https://github.com/firebase/FirebaseUI-Android/tree/master/database

关于java - 如何使用 FirebaseRecyclerAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49585134/

相关文章:

android - 如何将特定用户链接到实例 ID

java - 如何在启动时自动升级Java应用程序?

java - 将 Protocol Buffer 序列化为 XML?

带有内部框架的 Java MVC 和复合设计模式

java - 处理应用程序上下文

firebase - Flutter/Dart 应用因 Firebase Date 对象的更改而中断

swift - 如何阻止 segue 在 Swift 中发生?

java - 如何比较日期从java到mysql时间戳字段

android - 如何使用具有三种布局的 View 翻转器?

java - 简单的计算器应用程序不断崩溃