2017-02-18 4 views
1

ich diesen Code verwenden Bestnote von Rangliste zu bekommen, aber ich halteLibgdx Top-Punktzahl. Google-Dienste spielen

java.lang.IllegalStateException bekommen

bei

LeaderboardScore lbs = arg0.getScores() .get (0);

und ich weiß nicht, was falsch ist. es funktionierte in meinem vorherigen Projekt

public void updateTops() { 
      Games.Leaderboards.loadTopScores(client, getString(R.string.leaderboard_score), 
        LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC, 2, true). 
        setResultCallback(new ResultCallback<Leaderboards.LoadScoresResult>() { 
         @Override 
         public void onResult(final Leaderboards.LoadScoresResult arg0) { 
          System.out.println("SUKA " + score); 
          LeaderboardScore lbs = arg0.getScores().get(0); 
          score = lbs.getDisplayScore(); 
          name = lbs.getScoreHolderDisplayName(); 
          arg0.getScores().close(); 
         } 
        }); 
     } 

Antwort

2

Versuch auf diese Weise:

Games.Leaderboards.loadTopScores(mGamesClint,LEADERBOARD_ID, LeaderboardVariant.TIME_SPAN_ALL_TIME, LeaderboardVariant.COLLECTION_PUBLIC, 5).setResultCallback(new ResultCallback<Leaderboards.LoadScoresResult>() { 

     public void onResult(LoadScoresResult arg0) { 

      if(arg0 != null) { 
       if (arg0.getStatus().getStatusCode() == GamesStatusCodes.STATUS_OK) { 

        int size = arg0.getScores().getCount(); 
        LeaderboardScoreBuffer scoreBuffer = arg0.getScores(); 
        Iterator<LeaderboardScore> it = scoreBuffer.iterator(); 
        while(it.hasNext()){ 
         LeaderboardScore temp = it.next(); 
         Log.d("PlayGames", "player"+temp.getScoreHolderDisplayName()+" score:"+temp.getDisplayScore()); 
        } 
       } 
      } 
    } 
+0

Dank für Ihre Antwort danken. Anscheinend habe ich nicht lange genug gewartet, bis mein Leaderboard richtig funktioniert. Und tatsächlich war arg0 "null", als ich nachprüfte. Hoffe, es wird für einige Leute hilfreich sein - Warte einige Zeit, bevor du mit der Rangliste arbeitest und versuch ein paar Punkte an deinen Tisch zu schicken (es scheint so, als ob der beschleunigte Prozess und die Bestenliste zu reagieren begannen) –