Firebase Data Desc Sorting in Android

前端 未结 15 2453
醉话见心
醉话见心 2020-11-22 07:51

I am storing data in Firebase storage.

Object Comment with attribute timestamp. When I push data from device to Firebase I\'m populating

15条回答
  •  感动是毒
    2020-11-22 08:32

    Sort at client side is simple and not require more system resources. Each data snapshot has previousChildkey field. If you want to desc sorting, imagine previousChildkey is nextChildKey. Here are my sample:

    class LessonFirebaseArray{
    
      private ArrayList mItems;
      ...
      public LessonFirebaseArray() {
        mItems = new ArrayList<>();
      }
    
      public int addItem(ObjectModel item, boolean isReverse){
        int index;
        if (item.getPreviousChildKey() != null) {
          index = getIndexForKey(item.getPreviousChildKey());
          if (index < 0) {
            index = mItems.size();
          }else if(index>0 && !isReverse) {
            index = index + 1;      
          }
        }else{
          index = mItems.size();
        }
        mItems.add(index, item);
        notifyInsertedListeners(index);
        return index;
      }
    
      private int getIndexForKey(String key) {
        int index = 0;
        for (ObjectModel snapshot : mItems) {
          if (snapshot.getKey().equals(key)) {
             return index;
          } else {
             index++;
          }
        }
        return -1;
      }
    
      private void notifyInsertedListeners(int index) {
        if (mListener != null) {
          mListener.onInserted(index);
        }
      }
    }
    

提交回复
热议问题