Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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
Java 如何查询不同子类的对象?_Java_Android_Parse Platform - Fatal编程技术网

Java 如何查询不同子类的对象?

Java 如何查询不同子类的对象?,java,android,parse-platform,Java,Android,Parse Platform,我正在尝试在我的应用程序上创建一种“最近查看”的功能。user类有一个数组类型的列,我在其中存储指向不同子类的ParseObject的指针。 比如说, 我有一个名为Offers的ParseObject,我还有一个 不同的子类称为产品 用户对象类中名为“RecentlyViewedItems”的数组包含这两种类型 我在应用程序中获取该数组并将其固定在本地 我需要从固定列表中检索它们,我通常从 使用ParseQuery固定列表。但这个特定的固定列表包含 不同类的ParseQuery对象,据我所知,P

我正在尝试在我的应用程序上创建一种“最近查看”的功能。user类有一个数组类型的列,我在其中存储指向不同子类的ParseObject的指针。

比如说,

  • 我有一个名为Offers的ParseObject,我还有一个 不同的子类称为产品
  • 用户对象类中名为“RecentlyViewedItems”的数组包含这两种类型
  • 我在应用程序中获取该数组并将其固定在本地
  • 我需要从固定列表中检索它们,我通常从 使用ParseQuery固定列表。但这个特定的固定列表包含 不同类的ParseQuery对象,据我所知,ParseQuery 仅使用指定的子类,而不是通用的ParseObject

  • 那么,如何从不同类型的ParseObject的固定列表中检索项目呢?

    来自pin的查询与来自parse的查询类似。区别仅在于设置属性
    query.fromPin()
    因此,如果您的pin名为“RecentlyViewedItems”,则您的查询应如下所示:

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Offers");
    query.fromPin("RecentlyViewedItems");
    query.findInBackground(new FindCallback<ParseObject>() {
    public void done(List<ParseObject> scoreList, ParseException e) {
        if (e == null) {
            Log.d("score", "Retrieved " + scoreList.size() + " scores");
        } else {
            Log.d("score", "Error: " + e.getMessage());
        }
    }
    });
    
    ParseQuery=ParseQuery.getQuery(“提供”);
    query.fromPin(“最近查看编辑”);
    findInBackground(新的FindCallback(){
    已完成公共作废(列表分数列表,Parsee异常){
    如果(e==null){
    Log.d(“分数”、“检索到的分数”+scoreList.size()+“分数”);
    }否则{
    Log.d(“分数”,“错误:+e.getMessage());
    }
    }
    });