Firebase RecyclerView UI 未显示 [英] Firebase RecyclerView UI not showing

查看:18
本文介绍了Firebase RecyclerView UI 未显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试使用 recyclerview 在我的应用中实现 firebase ui.我的 firebase 数据库中有我想要使用 firebase ui recycler view 的项目.到目前为止,我认为我已经做对了一切,但是,当我运行我的应用程序时,它仍然显示为空白.任何帮助将不胜感激.

I have been trying to implement firebase ui in my app with recyclerview. I have items on my firebase database which i want to with firebase ui recycler view. So far, i think i have done everything right, however, when i run my app it still shows blank. Any help would be greatly appreciated.

public class UsersActivity extends AppCompatActivity {
private RecyclerView mRecyclerView;
private Query query;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_users);
        query = FirebaseDatabase.getInstance().getReference().child("Users");
        mRecyclerView = findViewById(R.id.recycler_view);
        mRecyclerView.setHasFixedSize(true);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    }

    @Override
    protected void onStart() {
        super.onStart();
        FirebaseRecyclerOptions <Users> firebaseRecyclerOptions = new FirebaseRecyclerOptions.Builder<Users>()
                .setQuery(query, Users.class).build();
        FirebaseRecyclerAdapter firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, UsersViewHolder>(firebaseRecyclerOptions){

            @NonNull
            @Override
            public UsersViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View mView = LayoutInflater.from(parent.getContext()).inflate(R.layout.users_single_layout, parent,false);
                return new UsersViewHolder(mView);
            }

            @Override
            protected void onBindViewHolder(@NonNull UsersViewHolder holder, int position, @NonNull Users model) {
                holder.setName(model.getName());

            }
        };
        mRecyclerView.setAdapter(firebaseRecyclerAdapter);
    }
    public static class UsersViewHolder extends RecyclerView.ViewHolder{
View mView;
        UsersViewHolder(View itemView) {
            super(itemView);
            mView = itemView;
        }
        public void setName (String name){
            TextView mName = mView.findViewById(R.id.user_name);
            mName.setText(name);
        }
    }
}

推荐答案

需要添加以下内容:

FirebaseRecyclerAdapter 使用事件侦听器来监控 Firebase 查询的更改.要开始侦听数据,请调用 startListening() 方法.您可能希望在 onStart() 方法中调用它.在调用 startListening() 之前,请确保您已完成读取数据所需的任何身份验证,否则您的查询将失败.

The FirebaseRecyclerAdapter uses an event listener to monitor changes to the Firebase query. To begin listening for data, call the startListening() method. You may want to call this in your onStart() method. Make sure you have finished any authentication necessary to read the data before calling startListening() or your query will fail.

@Override
protected void onStart() {
super.onStart();
firebaseRecyclerAdapter.startListening();
}

@Override
protected void onStop() {
super.onStop();
firebaseRecyclerAdapter.stopListening();
 }

更多信息在这里:

https://github.com/firebase/FirebaseUI-Android/tree/master/数据库

这篇关于Firebase RecyclerView UI 未显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆