嘿
对不起,如果这是一个愚蠢的问题,但这真的让我很生气。
if (ParseUser.getCurrentUser().getList("isFollowing") == null) {
List<String> emptyList = new ArrayList<String>();
ParseUser.getCurrentUser().put("isFollowing", emptyList);
}
上面代码中的问题是,它仅在我第一次运行应用程序时返回 null,即使我再次将其设为 null。
这个问题在我的代码中无处不在,
getCurrentUser
方法从不返回最新信息......我认为问题在于
getCurrentUser
方法返回数据的缓存版本。我该如何更新?我正在使用
parse 1.13.0
和 bolts tasks 1.3.0
。编辑:
现在我知道当我使用
ParseUser.getCurrentUser().saveInBackground();
时一切都搞砸了这有帮助吗?
编辑2:
问题似乎出在以下代码中的
saveInBackground()
方法中:ParseUser.getCurrentUser().getList("isFollowing").add(users.get(
ParseUser.getCurrentUser().saveInBackground();
我第一次通过保存时它运行良好,但第二次和其余的什么都不做......
我知道我现在很烦人,但我已经被这个问题困扰了大约 5 天......
请帮忙!
最佳答案
这是您刷新当前用户的方式:
ParseUser.getCurrentUser().fetchInBackground(new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
}
});