2015-03-02 2 views
1

У меня есть код, который сохраняет данные в parse.com, проблема в том, что он не дожидался завершения saveInBackground, поэтому он всегда возвращает false (это означает отсутствие ошибок), даже если есть ошибки. Пожалуйста помоги. благодаряКак заставить функцию ждать результата parse.com saveInBackground? (in android)

Boolean result; 
public boolean insertToParseAndDB(String payType, int creditsLeft){ 
    result = false; 
    ParseObject AudioRec = new ParseObject("Credit"); 
     AudioRec.put("payType", payType); 
     AudioRec.put("creditsLeft", creditsLeft); 
     AudioRec.put("isActive", true); 
     AudioRec.put("subsType", 2); 
     AudioRec.put("UserId", ParseUser.getCurrentUser()); 
     { 
     AudioRec.saveInBackground(new SaveCallback() { 
      @Override 
      public void done(ParseException ex) { 
       if (ex == null){ 
        result = true; 
       } 
       else{ 
        result = false; 
        Log.e("",ex.getLocalizedMessage()); 
       } 
      } 
     }); 
     } 
    return result; 
} 
+0

Вы получаете ParseException? –

+0

Нет .. просто поймать будущее ParseExceptions – user3517855

+0

сделайте то, что вы хотите сделать в готовом способе – virendrao

ответ

2

оно не ждать saveInBackground до конца, так что всегда возвращает ложные

Потому что saveInBackground работать в фоновом потоке и предоставляют методы обратного вызова для информирования UI тему, когда фоновая задача будет завершена.

Итак, используйте метод done для выполнения следующей задачи.

Как заставить функцию ждать результата parse.com saveInBackground?

ParseObject.save Использование или ParseObject.saveAll, которые идут на основной поток и ждать, пока вариант не закончить (Возможно замораживать UI или показать диалог ANR)

+0

Этот bleepin сосет. Существует так много случаев использования, когда он должен ждать, пока ParseObject будет сохранен в фоновом потоке перед обновлением пользовательского интерфейса, например, после отправки сообщения в чате DM. Вы знаете, что такое альтернатива? – santafebound

Смежные вопросы