Firebase RecyclerView UI 未显示 [英] Firebase RecyclerView UI not showing
问题描述
我一直在尝试使用 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 thestartListening()
method. You may want to call this in youronStart()
method. Make sure you have finished any authentication necessary to read the data before callingstartListening()
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屋!