我在使用Parse.com的应用程序中工作并且我遇到了一些随机行为,我制作了一个更简单的代码版本来向您展示,同时它保持随机(我期望的结果)它发生了大约4次中的5次)它变得更好(在我的代码中它是正确的约2/5的运行)。
所以方法就是这样,一个非常简单的创建和填充新对象:
public void test(){
final List<ParseObject> list = new ArrayList<>();
for(j=0;j<4;j++){
list.add(new ParseObject("Object"));
list.get(j).put("Column1", "sup");
list.get(j).put("Column2", "bro");
if(j==3){
ParseObject.saveAllInBackground(list, new SaveCallback() {
@Override
public void done(ParseException e) {
Toast.makeText(MainActivity.this, "NANANANANANANANA BATMAN!",Toast.LENGTH_LONG).show();
}
});
}
}
}
}
问题是它创建了4个ParseObjects(应该如此)只有4/5的尝试,然后1/4它只有3个。为什么会发生这种情况?
答案 0 :(得分:1)
为什么不在变量中创建和存储ParseObject
,然后在将此变量直接添加到列表中之前使用put("Column1", "sup");
和put("Column2", "bro");
?因为你可以两次访问你的列表而无法避免任何事情。
它会更干净,它可以让你更好地调试。