2016-10-20 45 views
0

在我火力地堡数据库中的每个用户创建一个组,在组中添加:在一个Recylerview中添加两个FirebaseListAdapter?

(UserID)z.B(IOPFNV5423890) 
     • groups 
      • created 
       • (groupID) 
        • name (name) 
        • timestamp (usw...) 

      • added 
       • (groupID) 
        • name (name) 
        • (.....) 

而现在我只有一个FirebaseListAdapter:

final ListUserFirebaseAdapter firebaseAdapter = new ListUserFirebaseAdapter(mFirebaseDatabaseReference.child("users/" + userModel.getId() + "/groups/created"), "", this); 


firebaseAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { 
      @Override 
      public void onItemRangeInserted(int positionStart, int itemCount) { 
       super.onItemRangeInserted(positionStart, itemCount); 
       int friendlyMessageCount = firebaseAdapter.getItemCount(); 
       int lastVisiblePosition = mLinearLayoutManager.findLastCompletelyVisibleItemPosition(); 
       if (lastVisiblePosition == -1 || 
         (positionStart >= (friendlyMessageCount - 1) && 
           lastVisiblePosition == (positionStart - 1))) { 
        rvListMessage.scrollToPosition(positionStart); 
       } 
      } 
     }); 

这里我设置了适配器的RecyclerView:

rvListMessage.setAdapter(firebaseAdapter); 

但是有了这个代码,我只能可以设置一个适配器,但我想也设置这个适配器:

final ListUserFirebaseAdapter firebaseAdapter1 = new ListUserFirebaseAdapter(mFirebaseDatabaseReference.child("users/" + userModel.getId() + "/groups/added"), "", this); 

    firebaseAdapter1.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { 
      @Override 
      public void onItemRangeInserted(int positionStart, int itemCount) { 
       super.onItemRangeInserted(positionStart, itemCount); 
       int friendlyMessageCount = firebaseAdapter1.getItemCount(); 
       int lastVisiblePosition = mLinearLayoutManager.findLastCompletelyVisibleItemPosition(); 
       if (lastVisiblePosition == -1 || 
         (positionStart >= (friendlyMessageCount - 1) && 
           lastVisiblePosition == (positionStart - 1))) { 
       } 
      } 
     }); 

我现在的问题:如何在一个RecyclerView中设置两个适配器,或者我该怎么做,这两个孩子(创建;添加)显示在一个RecyclerView?

+1

甲RecyclerView“加入”只能根据单个适配器上。另外:FirebaseRecyclerAdapter只能基于一个引用/查询。 –

+0

我该如何做到这一点? – flectiondev

回答

0

您可以在一个活动或片段,一个约其他,和显示添加两个RecyclerView在一个“创造”,并且在另一个

相关问题