2017-05-16 1 views
0

J'essaie d'afficher le nombre de nouveaux objets qui apparaissent dans ma base de données en temps réel en utilisant cette bibliothèque: https://github.com/parse-community/ParseLiveQuery-Android. Je suis à l'écoute des nouveaux objets qui apparaissent dans ma classe Notifications. Comment est-ce que j'augmenterais cette valeur dans mon StringHolder ci-dessous chaque fois qu'une nouvelle notification est créée? Si oui ou non l'interface utilisateur est mise à jour est une autre histoire je suppose. Mais puis-je au moins incrémenter cette liste en temps réel?Liste d'incrément avec Parse LiveQuery (Android)?

ParseLiveQueryClient parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient(); 
ParseQuery <ParseObject> parseQuery = ParseQuery.getQuery(ParseConstants.CLASS_NOTIFICATIONS); 
parseQuery.whereEqualTo(ParseConstants.KEY_READ_STATE, false); 
SubscriptionHandling <ParseObject> subscriptionHandling = parseLiveQueryClient.subscribe(parseQuery); 
subscriptionHandling.handleEvents(new SubscriptionHandling.HandleEventsCallback <ParseObject>() { 
@Override 
public void onEvents(ParseQuery <ParseObject> query, SubscriptionHandling.Event event, ParseObject object) { 
    // HANDLING all events 
    List<ParseObject> newNotifications = new ArrayList<>(); 
    newNotifications.add(object); 
    Log.w(getLocalClassName(), "New notification found! " + object.toString()); 
    result.updateBadge(5, new StringHolder(newNotifications.size() + "")); 
} 
}); 

Répondre

1

Je pense que vous déclarez la variable newNotifications chaque fois qu'un onEvent est créé. Essayez de mettre cette ligne dans un contexte partagé comme et l'activité ou singleton:

List<ParseObject> newNotifications = new ArrayList<>();