私の Android アプリでは、 ParseObject をサブクラス化してFood、Prefクラス、およびParseUser を拡張する CustomUser クラスを作成し、「Food」と「Users」の間に関係「恋人」を作成しました。
CustomUser オブジェクト内に、createWithoutData メソッドを使用してキー「pref」に Pref オブジェクトを格納しました。CustomUser とそれぞれの Pref オブジェクトは 1 対 1 でマッピングされます。
ParseQueryAdapter を使用して、特定の食べ物のすべての愛好家をリストビューに表示したい場合は、
ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(getActivity(),
new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery<ParseObject> create() {
ParseQuery<ParseObject> query = food.getRelation("lovers").getQuery();
query.selectKeys(Arrays.asList("pref");
return query;
}
});
adapter.setTextKey(Pref.COLUMN_PROFILE_NAME); adapter.setImageKey(Pref.COLUMN_PROFILE_PIC_THUMB);
参考までに、COLUMN_PROFILE_NAME = "profileName"、COLUMN_PROFILE_PIC_THUMB = "profileThumb"
問題は、「pref」が実際のオブジェクトへの参照にすぎないことです。そのため、listView がテキストと画像を取得しようとすると、「ParseObject にはこのキーのデータがありません。fetchIfNeeded() を呼び出してデータを取得してください」と表示されます。
私の目的は、クエリを ParseQueryAdapter に渡すことです。このクエリは、その特定の食品と「恋人」関係を持つ CustomUsers 内にネストされたすべての優先オブジェクトを取得します。
parse docs によると、「include」メソッドはリレーションでは機能しません。
助けてください、私はこれに長い間苦労してきました。