許可すればすべての投稿を正しく表示する ParseQueryAdapter がありますが、友人からの投稿のみを表示する方法を見つけようとしています。コードの相対ビットは次のとおりです。
public CustomAdapter(Context context) {
// Use the QueryFactory to construct a PQA that will only show
// Todos marked as high-pri
super(context, new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery create() {
ParseUser user = ParseUser.getCurrentUser();
ParseRelation<ParseUser> relation = user.getRelation("friends");
ParseQuery relationQuery = relation.getQuery();
relationQuery.whereExists("objectID");
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Post");
query.whereEqualTo("CreatedBy", relationQuery.whereExists("ObjectID"));
return query;
}
});
}
データ構造は次のとおりです。ユーザーには友人関係があります。だから私はそれらからその関係を取得し、投稿の CreatedBy ユーザーに一致する objectID を探したいと思います。私が見ている問題の 1 つは、CreatedBy フィールドがユーザーへのポインターであり、Friend リレーションの objectID が文字列であることです。ここでいろいろ試してみたのですが、うまくいきません。
したがって、CreatedBy を文字列に変換する必要があるかどうかはわかりませんが、クエリ全体でどのように機能するかはわかりません。あるいは、objectID フィールドを見るのではなく、友人関係の各友人をユーザーとして見る必要があるかもしれません。