本文介绍了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()
之前,请确保您已完成读取数据所需的任何身份验证,否则您的查询将失败.
@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 未显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!