我是子类化parseUser,所以当我寻找用户时我使用:
query.getFirstInBackground(new GetCallback<MySubClass>() {
@Override
public void done(MySubClass user, ParseException e) {
但是当我需要用户时 getCurrentUser或logInInBackground我得到ParseUser而不是MySubClass。
我使用这种方法:
MySubClass.logInInBackground(userName, "", new LogInCallback() {
@Override
public void done(ParseUser u, ParseException arg1) {
}
});
但我想让回调像我的查询一样返回MySubClass对象。
与此相同:
MySubClass.getCurrentUser()
答案 0 :(得分:6)
这里也有同样的问题。
实际上你可以通过正确地继承你的ParseUser来解决这个问题。
@ParseClassName("_User")
public class User extends ParseUser {}
然后在初始化解析之前注册你的课程。
ParseObject.registerSubclass(User.class);
然后您可以转换为您自己的子类而不会出现转换错误:
User user = (User)ParseUser.getCurrentUser();
答案 1 :(得分:1)
按照article。你实际上特别需要引用_User&#34; ParseClassName&#34;当子类化这个对象时。它超级毛茸茸,我被困在这个很长时间了,因为对于其他课程你只需要参考他们的名字,就像在Parse数据浏览器中看到的那样,在这种情况下是&#34; User&#34;,& #34; Info&#34;,&#34; Post&#34;等,但User类需要下划线。