作为序言,我会道歉:我是法国人,所以我的查询和表格中有法语单词。
无论如何,我一直遇到来自 Parse4J 的查询问题(它使用来自 Parse.com 的 Android API 的基本模型)。
在 Parse.com 上的数据中,我在同一个表中有主题和子主题,但主题有作为 RootTheme “根”,而子主题作为 RootTheme 有另一个主题。
我一直在尝试将查询的结果添加到 ComboBox 中,但是 Query 已经返回了 5 次相同的结果,而不是 5 个 RootThemes。
这是我的代码:
private ParseQuery<ParseObject> themeQuery;
private ObservableList<String> themeComboData;
@Override
public void initialize(URL location, ResourceBundle resources) {
themeComboData = FXCollections.observableArrayList();
themeQuery = ParseQuery.getQuery("Theme").whereEqualTo("RootThemeID", "DBWw03ygSv");
themeQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> themeList, ParseException e) {
if (e == null) {
for(int i = 0; i < themeList.size(); i++){
ParseObject themeTemp;
themeTemp = new ParseObject("Theme");
themeTemp = themeList.get(i);
themeComboData.add(themeTemp.getString("Name"));
}
} else {
Logger.getLogger(AmIApp.class.getName()).log(Level.SEVERE, null, e);
}
}
});
themeCombo.setItems(themeComboData);
}
但它所做的只是用 5 次“Affinités”填充我的 Combo Box themeCombo,而不是 5 个不同的 RootThemes。
有什么建议吗?提前致谢 :)
编辑:这是我正在使用的表格的一部分:
编辑:这是使用 ios 完成的查询
PFQuery * themeQuery = [PFQuery queryWithClassName:@"Theme"];
[themeQuery whereKey:@"RootThemeID" equalTo:@"DBWw03ygSv"];
[themeQuery findObjectsInBackgroundWithBlock:^(NSArray* themes, NSError* error) {
if (!error) {
for (PFObject *th in themes ) {
NSLog(@"theme is : %@", th[@"Name"]);
}
}else {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
它按预期返回 5 个不同的主题,我想在 java 中对 Parse4J 做同样的事情。