title: Firebase and Android: Order Query Results
body: <p>I have a short Question about my Code.</p>
  
  <p>I'm using a recyclerview in my Android App, and fill it with some data out of my Firebase Database.</p>
  
  <p>It works well, but I notice that the ordering is not right :/</p>
  
  <p>I have this Code:</p>
  
  <pre><code>private void getRankings() {
          // hole anzahl an Teilnehmern
          mDatabase.child(TEILNEHMERDATA).addValueEventListener(new ValueEventListener() {
              @Override
              public void onDataChange(DataSnapshot dataSnapshot) {
                  // hole Anzahl aller Teilnehmer um das Ranking zu bestimmen
                  teilnehmerVar = (int) dataSnapshot.getChildrenCount();
                  mDatabase.child(TEILNEHMERDATA).orderByChild("score").addChildEventListener(new ChildEventListener() {
                      Teilnehmer teilnehmer = new Teilnehmer();
                      int i = teilnehmerVar+1;
                      @Override
                      public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                          // teamname, Platzierung, Punkte
                          int punkteStand = (int) Double.parseDouble(String.valueOf(dataSnapshot.child("score").getValue()));
  
                          i -= 1;
                          this.teilnehmer = new Teilnehmer(dataSnapshot.getKey(), ((String) dataSnapshot.child("teamname").getValue()), "Platz " + i, punkteStand + " Punkte");
                          teilnehmerList.add(0, this.teilnehmer);     // add to recyclerview: add(0, teilnehmer) gebe in desc aus von 0 zum n. eintrag
                          mAdapter.notifyDataSetChanged();    // save
                      }
  </code></pre>
  
  <p>In this row:</p>
  
  <pre><code>mDatabase.child(TEILNEHMERDATA).orderByChild("score").addChildEventListener(new ChildEventListener() {
  </code></pre>
  
  <p>Order Child by score</p>
  
  <p>I get my Data with Structure like this:</p>
  
  <pre><code>"Teilnehmer" : {
      "user_0gPpHXzKqLd2xA" : {
        "image" : "",
        "score" : "0",
        "startnummer" : "1",
        "teamname" : "Andy Foo"
      },
  </code></pre>
  
  <p>The row score contains an Integer with a Datarange from 0 to ∞</p>
  
  <p>My Layout looks like:</p>
  
  <pre><code>Teamname1    9 Punkte
  Platz 1
  
  Teamname2    0 Punkte
  Platz 2
  
  Teamname3    1000 Punkte
  Platz 3
  </code></pre>
  
  <p>But its absolutely wrong :/</p>
  
  <p>9 is bigger than 10000
  seems my Query order only by the first number</p>
  
  <p>1..2..3..</p>
  
  <p>My Recyclerview initialization:</p>
  
  <pre><code>recyclerView.setHasFixedSize(true);
  RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
  recyclerView.setLayoutManager(mLayoutManager);
  recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
  recyclerView.setItemAnimator(new DefaultItemAnimator());
  recyclerView.setAdapter(mAdapter);
  </code></pre>
  
  <p>Can anyone help me out?</p>