爲了在我火力地堡Android應用原子數據操作,我使用的updateChildren(Map<String, Object> update)
方法來設置多個值用一個命令(這樣可以防止數據不一致。在DatabaseReference.updateChildren()調用中設置優先級?
在某些情況下,在寫入數據我還需要設置優先順序以便索引元素排序正確
使用'not atomic'setValue(Object value, Object priority)
操作,可以寫入一個值並同時設置優先級,使用updateChildren()
命令不允許設置優先級
爲了設置p新創建的數據的衝突,我目前在updateChildren()
命令的CompletionListener
中調用setPriority()
。這可行,但會導致奇怪的用戶界面行爲(元素被添加到列表底部,並在此之後,他們移動到正確的位置)。
建議如何正確處理這個問題?
嗨,弗蘭克,感謝您的快速反應,我已將問題擴展到更多細節。請看一看。 – Peter
我發佈的代碼顯示瞭如何在'updateChildren()'調用中更新項目的優先級。儘管我可以進一步用'orderByValue()'或'orderByChild()'替代優先級,這可能是一個單獨的問題。在那裏:發佈完整的信息,因爲你現在的詢問方式很難超出我已經完成的工作。提供您想要加載或操作的最小JSON(如文本,而不是屏幕截圖)以及如何加載或操縱它的代碼片段。 –
我已經創建了一個專用於此主題的新問題:[如何在FirebaseRecyclerAdapter中使用orderByChild或orderByValue](http://stackoverflow.com/questions/39561612/how-to-use-orderbychild-or-orderbyvalue-in- A-firebaserecycleradapter) – Peter