Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android/Parse—使用另一列中的值查询类B列中的值,后者实际上是指向类a的ObjectId的指针_Android_Parsing_Pointers_Include_Objectid - Fatal编程技术网

Android/Parse—使用另一列中的值查询类B列中的值,后者实际上是指向类a的ObjectId的指针

Android/Parse—使用另一列中的值查询类B列中的值,后者实际上是指向类a的ObjectId的指针,android,parsing,pointers,include,objectid,Android,Parsing,Pointers,Include,Objectid,我读过很多关于这个话题的论坛,但没有一个是专门针对Android/Parse的 我有一个名为“Rankingboards”的解析类,它看起来像这样: ObjectId用户ID分级SAGGREgate ----------------------------------------- 123456 ABCDE 5.0 上面的“UserID”列实际上是指向User(解析中的默认类)中的“ObjectId”列的指针 ObjectId ---------- ABCDE 因此,我编写了以下代码,希望使用w

我读过很多关于这个话题的论坛,但没有一个是专门针对Android/Parse的
我有一个名为“Rankingboards”的解析类,它看起来像这样:

ObjectId用户ID分级SAGGREgate
-----------------------------------------
123456 ABCDE 5.0

上面的“UserID”列实际上是指向User(解析中的默认类)中的“ObjectId”列的指针

ObjectId
----------
ABCDE

因此,我编写了以下代码,希望使用whereEqualTo(“UserID”,“ABCDE”)在getQuery(“Rankingboards”)中获得ratingsaggergate(即5.0)的值

列表ob;
最终比率杆比率杆;
ratingBar=(ratingBar)v.findViewById(R.id.ratingBar);
字符串userid=user.getObjectId();
ParseQuery=ParseQuery.getQuery(“Rankingboards”);
查询。whereEqualTo(“UserID”,UserID);
试一试{
ob=query.find();
Log.d(“位置”、“+ob.size());
对于(int i=0;i
但这不起作用,因为“UserID”是指针而不是字符串
我在别处读到,我必须使用“include”,但我无法让代码正常工作
希望有人能启发我

备注:
(1) 我正在使用一个定制的ListAdapter,它接受一个ParseUser对象(称为user)作为输入。这就是为什么您会在代码中看到user.getObjectID(),并且我已经验证了ObjectId是否正确

(2) ob.size()始终为0,因为查询不起作用。当我打印出query.size()时,Rankingboards中的条目总数是正确的

我刚刚找到了解决方案,我也遇到了同样的问题。当你使用

query.whereEqualTo("UserID", userid);
它是一个指针,当执行相等操作时,不能使用字符串。方法是介绍对象本身。消除

String userid = user.getObjectId();
然后介绍
用户
,您在那里有用户ID

query.whereEqualTo("UserID", user);

List<ParseObject> ob;
    final RatingBar ratingBar;
    ratingBar = (RatingBar) v.findViewById(R.id.ratingBar);
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Rankingboards");
    query.whereEqualTo("UserID", user);
    try {
        ob = query.find();
        Log.d("POSITION",""+ob.size());
        for (int i = 0; i < ob.size(); i++) {
            Number num7 = ob.get(i).getNumber("ratingsAggregate");
            if (num7!=null) {
                ratingBar.setRating(num7.floatValue());
            }

        }

     } catch (ParseException e) {
         Log.e("Error", e.getMessage());
         e.printStackTrace();
     }
query.whereEqualTo(“UserID”,用户);
列表ob;
最终比率杆比率杆;
ratingBar=(ratingBar)v.findViewById(R.id.ratingBar);
ParseQuery=ParseQuery.getQuery(“Rankingboards”);
查询。whereEqualTo(“用户ID”,用户);
试一试{
ob=query.find();
Log.d(“位置”、“+ob.size());
对于(int i=0;i
query.whereEqualTo("UserID", user);

List<ParseObject> ob;
    final RatingBar ratingBar;
    ratingBar = (RatingBar) v.findViewById(R.id.ratingBar);
    ParseQuery<ParseObject> query = ParseQuery.getQuery("Rankingboards");
    query.whereEqualTo("UserID", user);
    try {
        ob = query.find();
        Log.d("POSITION",""+ob.size());
        for (int i = 0; i < ob.size(); i++) {
            Number num7 = ob.get(i).getNumber("ratingsAggregate");
            if (num7!=null) {
                ratingBar.setRating(num7.floatValue());
            }

        }

     } catch (ParseException e) {
         Log.e("Error", e.getMessage());
         e.printStackTrace();
     }