作为序言,我会道歉:我是法国人,所以在我的查询和表格中都有法语单词。
无论如何,我对Parse4J(使用Parse.com的Android API的基本模型)的查询一直有疑问。
在Parse.com上的数据中,我在同一个表中有主题和子主题,但主题有RootTheme“Root”,而SubThemes则有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);
}
但它所做的只是填充我的Combo Box themeCombo 5次“Affinités”,而不是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做同样的事情。