2017-05-16 5 views
0

私はこのライブラリを使用してリアルタイムで自分のデータベースに表示される新しいオブジェクトの数を表示しようとしています:https://github.com/parse-community/ParseLiveQuery-AndroidParse LiveQuery(Android)でリストをインクリメントしますか?

通知クラスに表示される新しいオブジェクトをリッスンしています。新しいNotificationが作成されるたびに、StringHolderでその値をどのように増やすのですか? UIが更新されるかどうかは、私が推測する別の話です。しかし、少なくともリアルタイムでそのリストを増やすことはできますか?

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() + "")); 
} 
}); 

答えて

1

あなたは、onEventが作成されるたびにnewNotifications変数を宣言していると思います。この行を、アクティビティやシングルトンのような共有コンテキストに入れてみてください:

List<ParseObject> newNotifications = new ArrayList<>(); 
関連する問題