Java 如何在onCreate中使用从解析方法获得的变量
我在变量和解析查询方面有很多问题。我的一些解决方案是创建一个方法并将参数放入其中,然后从查询中调用它,并插入我需要的值作为参数。但我需要在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
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.
}
}
});