Firebase RecyclerView UI未显示 [英] Firebase RecyclerView UI not showing
问题描述
我一直在尝试使用 recyclerview
在我的应用中实现 firebase ui
.我的Firebase数据库中有想要通过 firebase ui回收器视图
进行操作的项目.到目前为止,我认为我所做的一切都正确,但是,当我运行我的应用程序时,它仍然显示为空白.任何帮助将不胜感激.
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/database
这篇关于Firebase RecyclerView UI未显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!