2016-07-01 5 views

답변

6

파이어베이스는 가시적 인 인덱스를 기반으로 주문한 것이 아니라 데이터베이스 when queried의 항목을 기준으로 주문할 수 있도록 설계되었습니다.

orderByChild, orderByKey, 또는 그래서 당신은, 당신은 각 항목에게 '인덱스'값을주고 코드의 orderByValue('index')


몇 줄을 호출해야 중포 기지의 값의 순서를 변경하려면 orderByValue

이 색인을 사용하려면 현재 데이터베이스 항목을 업그레이드 할 수 있습니다.

int index = 0; 
mDatabase.child("data").addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) { 
     Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey()); 

     // A new comment has been added, add it to the displayed list 
     Data data = dataSnapshot.getValue(Data.class); 
     index++; 
     Map<String, Object> childUpdates = new HashMap<>(); 
     childUpdates.put("/data/" + dataSnapshot.getKey()+"/index", index); 
     mDatabase.updateChildren(childUpdates); 
    } 
+0

확인. 어떻게하면 데이터베이스의 각 요소를 반복하여 인덱스로 값을 변경할 수 있습니까? – Smeekheff

+0

데이터베이스 항목을 다른 필드를 포함하도록 '업데이트'할 수 있습니다. –

+0

사실이지만 각 요소를 반복하여 어떻게 코드를 제공 할 수 있습니까? – Smeekheff

관련 문제