Java 如何在onCreate中使用从解析方法获得的变量

Java 如何在onCreate中使用从解析方法获得的变量,java,parse-platform,parse-android-sdk,Java,Parse Platform,Parse Android Sdk,我在变量和解析查询方面有很多问题。我的一些解决方案是创建一个方法并将参数放入其中,然后从查询中调用它,并插入我需要的值作为参数。但我需要在onCreate中使用这些值。当把这个变量作为全局变量时 ParseObject empresa; String stringEmpresa; String tipoDeEmpresa; String tipoEmpresa; String role; 当我在onCreate上使用这些值时,将它们放入查询中,它们为null p

我在变量和解析查询方面有很多问题。我的一些解决方案是创建一个方法并将参数放入其中,然后从查询中调用它,并插入我需要的值作为参数。但我需要在onCreate中使用这些值。当把这个变量作为全局变量时

ParseObject empresa;
    String stringEmpresa;
    String tipoDeEmpresa;
    String tipoEmpresa;
    String role;
当我在onCreate上使用这些值时,将它们放入查询中,它们为null

public void parseQuery(){

        ParseQuery<ParseUser> query = ParseUser.getQuery();
        query.include("Empresa");
        query.include("ComercialAsignado");
        query.include("ComercialTallerAsignado");
        query.getInBackground(ParseUser.getCurrentUser().getObjectId(), new GetCallback<ParseUser>() {
            @Override
            public void done(ParseUser object, ParseException e) {

                if (e == null) {
                    queryEmpresa();

                    tipoDeEmpresa = object.getString("tipoDeEmpresa");

                    role = object.getString("Rol");

                    initBottomFromRolUser(role, tipoDeEmpresa);

                    showItemNVFromRol(role, tipoDeEmpresa);

                    initFloatingButton(tipoDeEmpresa);


                }
            }
        });
这是空的

还要注意的是,我对demo3的角色是管理员,而不是Usuario

记住,在done方法中设置这些全局变量不允许我在onCreate中使用这些变量, 你在这里发布的代码并不反映你截图上的代码

请使用固定的objectId测试它,这样我们就可以知道问题不是来自ParseUser.getCurrentUser().getObjectId()

请像这样测试:

final String objectIdOfUser = "LJ9AongycH";
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.getInBackground(objectIdOfUser, new GetCallback<ParseUser>() {
    @Override
    public void done(ParseUser object, ParseException e) {
        if (e == null) {
            // The query was successful, returns the users that matches
            // the criterias.
            System.out.println(objectIdOfUser + " " + object.getString("Rol"));
            System.out.println(objectIdOfUser + " " + object.getString("tipoDeEmpresa"));
        } else {
            // Something went wrong.
        }
    }
});
最终字符串objectIdOfUser=“LJ9AongycH”;
ParseQuery=ParseUser.getQuery();
getInBackground(ObjectDoFuser,新的GetCallback(){
@凌驾
public void done(ParseUser对象,parsee异常){
如果(e==null){
//查询成功,返回匹配的用户
//标准。
System.out.println(objectdofuser+“”+object.getString(“Rol”);
System.out.println(objectIdOfUser+“”+object.getString(“tipoDeEmpresa”);
}否则{
//出了点问题。
}
}
});

是的,我在我的类的按钮中有它,我在我的类的开始调用了这个方法,它工作得非常好。。问题是我所描述的我不能在onCreate中使用这些变量
final String objectIdOfUser = "LJ9AongycH";
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.getInBackground(objectIdOfUser, new GetCallback<ParseUser>() {
    @Override
    public void done(ParseUser object, ParseException e) {
        if (e == null) {
            // The query was successful, returns the users that matches
            // the criterias.
            System.out.println(objectIdOfUser + " " + object.getString("Rol"));
            System.out.println(objectIdOfUser + " " + object.getString("tipoDeEmpresa"));
        } else {
            // Something went wrong.
        }
    }
});