这是我的代码段 - 我希望在我的活动中获得总项数。 (即数据库参考中的所有孩子。我还要求总子计数动态变化,即添加或删除子项。
firebaseRecyclerOptions = new FirebaseRecyclerOptions.Builder<Chat>().setQuery(databaseReference,Chat.class).build();
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(firebaseRecyclerOptions)
{
@Override
protected void onBindViewHolder(ChatHolder holder, int position, Chat model)
{
holder.txtName.setText(model.getName());
}
@Override
public ChatHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.chats, parent, false);
return new ChatHolder(view);
}
@Override
public void onDataChanged() {
super.onDataChanged();
firebaseRecyclerAdapter.notifyDataSetChanged();
}
答案 0 :(得分:1)
要解决此问题,您需要使用getItemCount()
方法计算FirebaseRecyclerAdapter
中的所有项目。
答案 1 :(得分:0)
你可以试试这个:
DatabaseReference database = FirebaseDatabase.getInstance().getReference().child("yourChild");
int childCount = 0;
database.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap: dataSnapshot.getChildren()) {
childCount+=snap.getChildrenCount();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});