数组操作有时会抛出'上次操作后操作无效'

cYr*_*ten 3 android parse-platform

在我的一个解析子类中,我有一个像这样的方法:

public void updateCheckpoint(String checkpoint, boolean checked) {
    if (checked) {
        addUnique(checkedCheckpoints, checkpoint);
    } else {
        removeAll(checkedCheckpoints, Arrays.asList(checkpoint));
    }
}
Run Code Online (Sandbox Code Playgroud)

此更新紧接着是固定​​到本地数据存储区.

即使添加ProgressDialog以确保在更新之间完成固定,有时也会Operation is invalid after previous operation抛出.

是否有更强大的阵列操作方式?

jjb*_*kir 7

数组下的Parse 文档中

"请注意,目前无法在同一个存储中以原子方式添加和删除数组中的项目.您必须在每种不同类型的数组操作之间调用save."

当您从解析对象中添加和删除时,它将抛出错误"上一次操作后操作无效".要避免此错误,请先将新值添加到数组中,保存对象,删除旧值,然后再次保存.