2016-12-15 23 views
0

In meinem Fragment Laden, die parseQuery fragt erfolgreich wie folgt:Überprüfen Sie, ob parseQuery ist

   comments = new ParseQuery<ParseObject>("CommentItem"); 
       comments.setLimit(99); 
       comments.whereEqualTo("parentUser", feedUserName); 
       comments.whereEqualTo("parentFeed", feedItem); 
       comments.findInBackground(new FindCallback<ParseObject>() { 
        @Override 
        public void done(List<ParseObject> mobjects, ParseException e) { 

         if(e == null){ 

          for(ParseObject object : objects){ 




          } 


         } 


        } 
       }); 

Wenn jedoch die Verbindung langsam ist, wird nur der Hintergrund sichtbar ist, bis es abfragt. Wie kann ich ein Ladesymbol anzeigen, während die Parse-Abfrage geladen wird?

Antwort

0

Sie müssen den Fortschrittsdialog anzeigen, bevor Sie findInBackground ausführen und ihn innerhalb des Callbacks schließen. so sollten Sie den Code wie folgt aussehen:

comments = new ParseQuery <ParseObject> ("CommentItem"); 
 
comments.setLimit(99); 
 
comments.whereEqualTo("parentUser", feedUserName); 
 
comments.whereEqualTo("parentFeed", feedItem); 
 

 
// show progres dialog 
 
final ProgressDialog myDialog = ProgressDialog.show(this, "Loading...","Loading Results...", true); 
 

 
comments.findInBackground(new FindCallback <ParseObject>() {@ 
 
    Override 
 
    public void done(List <ParseObject> mobjects, ParseException e) { 
 

 
    myDialog.dismiss(); // remove progress dialog on finish 
 
    if (e == null) { 
 

 
     for (ParseObject object: objects) { 
 

 

 

 

 
     } 
 

 

 
    } 
 

 

 
    } 
 
});

Good Luck.