Firebase RecyclerView UI 未显示
Firebase RecyclerView UI not showing
我一直在尝试使用 recyclerview
在我的应用中实现 firebase ui
。我的 firebase 数据库中有项目,我想使用 firebase ui recycler view
。到目前为止,我认为我所做的一切都是正确的,但是,当我 运行 我的应用程序时它仍然显示空白。任何帮助将不胜感激。
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);
}
}
}
您需要添加以下内容:
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/database
我一直在尝试使用 recyclerview
在我的应用中实现 firebase ui
。我的 firebase 数据库中有项目,我想使用 firebase ui recycler view
。到目前为止,我认为我所做的一切都是正确的,但是,当我 运行 我的应用程序时它仍然显示空白。任何帮助将不胜感激。
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);
}
}
}
您需要添加以下内容:
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