2014-08-27 65 views
2

林子类parseUser,所以当我寻找我的用户使用:解析子类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() 

回答

6

同样在这里问题。

其实你可以通过正确的子类化你的ParseUser来解决这个问题。

@ParseClassName("_User") 
public class User extends ParseUser {} 

然后在初始化解析之前注册你的类。

ParseObject.registerSubclass(User.class); 

然后,您可以投放到您自己的子类,而铸造的错误:

User user = (User)ParseUser.getCurrentUser(); 
+0

您无法将ParseUser强制转换为此用户 – Hatim 2017-12-07 02:32:04

1

按本article。子类化此对象时,实际上特别需要引用_User“ParseClassName”。这是超级毛茸茸的,我被困在这个很长的时间,因为对于其他类,你只需要参考Parse数据浏览器,在这种情况下是“用户”,“信息”,“后”等, User类需要下划线。