我有一个ParseObject子类,其构造函数尝试使用新的UUID设置字段:
@ParseClassName("Results")
public class Results extends ParseObject {
public static final String FIELD_UUID = "uuid";
public Results() {
// Default constructor
setUuid();
}
public String getUuid() {
return getString(FIELD_UUID);
}
public void setUuid() {
UUID uuid = UUID.randomUUID();
put(FIELD_UUID, uuid.toString());
}
...
}
但是,显然我无法在构造函数中调用setUuid()
,因为发生了以下错误:
java.lang.IllegalStateException: A ParseObject subclass default constructor must not make changes to the object that cause it to be dirty.
我希望每次创建新的Results
对象时自动设置UUID,而不是创建新对象,然后调用setUuid()
。这可能吗,还是有解决方法?
答案 0 :(得分:1)
指针肯定是要走的路。
我发现最好的方法是使用EventBus传递整个ParseObjects,你会在我对这个问题的回答中找到一个例子:Getting Parse Object ID from onListItemClick
这非常简单,省去了额外查询以找到传递对象的麻烦。