我正在关注Udemy的课程,我正在创建一个匿名用户的部分,在一个Activity之后,尝试将AnonUsername设置为ParseObject中的put方法。我使用时在标题中出现上述错误:
<img><button></img>
但是当我使用时,我得到了“com.parse.ParseUser ....”:
put("riderUsername", ParseObject.getCurrentUser().getUsername());
这是我按下按钮将其发送到Parse时的代码:
put("riderUsername", ParseObject.getCurrentUser());
这是我在第一个Activity中创建Anon用户的地方:
public void toggleSearch(View view){
ParseObject request = new ParseObject("Requests");
request.put("requestUsername", ParseUser.getCurrentUser().toString());
ParseACL acl = new ParseACL();
acl.setPublicWriteAccess(true);
acl.setPublicReadAccess(true);
request.setACL(acl);
request.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if(e == null){
driverStatus.setText("Searching Drivers...");
} else {
driverStatus.setText("Error");
e.printStackTrace();
}
}
});
}
尝试搜索但找不到任何东西。只是希望别人知道我做错了。谢谢。
答案 0 :(得分:0)
如果我理解正确,你可以
put("riderUsername", ParseObject.getCurrentUser());
没有问题,但是这个失败并抛出异常:
put("riderUsername", ParseObject.getCurrentUser().getUsername());
当然,ParseObject.getCurrentUser()不是null,因为你可以存储它,也因为ParseObject.getCurrentUser().getUsername()
会抛出java.lang.NullPointerException
因此,唯一的可能性是存储在当前用户中的用户名为null。
检查参数ParseUser user
的登录回调中的用户名是否为空。您也可以使用此方法:
ParseUser.getUsername()