我正在尝试使用Parse中的用户登录,但是当我使用登录Parse函数时,我收到错误" java.lang.IllegalStateException:ParseObject没有此密钥的数据。调用fetchIfNeeded()来获取数据。 &#34 ;.这有点奇怪,因为我在登录之前从未遇到过这个错误。我没有更改任何ParseUser。登录的代码与您在Parse文档中找到的代码相同。
ParseUser.logInInBackground(nombre, pass, new LogInCallback() {
public void done(final ParseUser user, ParseException e) {
if (user != null) {
// Hooray! The user is logged in.
} else {
// Signup failed. Look at the ParseException to see what happened.
e.printStackTrace();
}
}
});
堆栈跟踪:
.IllegalStateException: ParseObject has no data for this key. Call fetchIfNeeded() to get the data.
04-18 12:15:28.611 27662-27662/droidotech.com.adaptavision W/System.err﹕ at com.parse.Parse$4$1.run(Parse.java:790)
04-18 12:15:28.612 27662-27662/droidotech.com.adaptavision W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:725)
答案 0 :(得分:1)
我已经解决了这个问题。 在另一个类中,我有一个String值,在其声明中调用get函数。你不能这样做,你必须在构造函数或init方法中调用get函数。
这是错误的:
private String TITLE = "This is the title" + getTitle();
这是正确的方法:
private String TITLE;
public void init(String title){
TITLE = "This is the title" + title;
}