2017-02-18 4 views
0

私はArrayList 'userHolder'を宣言したところで次のコードを実行しています。パースサーバーのUserクラスには、リスト配列(FgiA ...、Swu ...)の値を持つ2つの値もあります。このコードを実行すると、値はobjectId列のUserテーブルにありますが、結果は得られません。私は結果が出ると期待しているので、何が間違っているのか分かりません。Android Parse Queryが結果を返さない

+0

空のリストに失敗していますか? – muratgu

+0

実行中ですが結果が得られません。 "Log.i(" Find All "、" Retrieved: "+ list.size()+"リスト内のオブジェクト! ");" 「I/Find All:Retrieved:リスト内のオブジェクトは0個!」と印刷されています。 –

答えて

0
userHolder.add("FgiAXHQCOB"); 
    userHolder.add("SwuT8v7pIQ"); 
    Log.i("test", Integer.toString(userHolder.size())); 
    ParseQuery<ParseObject> query = ParseQuery.getQuery("User"); //Query table 
    query.whereContainsAll("objectId",userHolder); 
    query.findInBackground(new FindCallback<ParseObject>() { 
     @Override 
     public void done(List<ParseObject> list, ParseException e) { 
      if (e == null){ 
       Log.i("Find All", "Retrieved: " + list.size() + " objects in list!"); 
       if (list.size()>0){ 
        for (ParseObject object : list){ 
         Log.i("wtf", object.getString("username")); 
        } 
       } 
       Log.i("Find All", "Success!"); 
      } 
      else { 
       Log.i("Find All", "Failed!"); 
      } 
     } 
    }); 

containsAll二つの配列を比較するために使用されることになって、キーが配列であることを必要とします。あなたの場合、それは特異値(objectId)です。代わりにcontainedInを試してください。

+0

コード行を「query.whereContainedIn( "objectId"、userHolder); "あなたが2を得ることを期待しているときに私はまだ0オブジェクトを取得しています。 –

+0

@ M.Phillipあなたは 'whereEqualTo'を単一の値で試すことができますか? – muratgu

+0

私はまだ結果を得ていません。私はその行を "query.whereEqualTo(" objectId "、" FgiAXHQCOB ");に変更しました。 –

関連する問題