从ParseQuery[JAVA]中访问变量
在实际解析查询之外,访问从解析检索的变量时遇到问题。它告诉我它不能给最终变量赋值从ParseQuery[JAVA]中访问变量,java,android,parse-platform,Java,Android,Parse Platform,在实际解析查询之外,访问从解析检索的变量时遇到问题。它告诉我它不能给最终变量赋值 final String startTime; ParseQuery<ParseObject> startQuery = ParseQuery.getQuery("clockIn"); startQuery.getInBackground(clockInId, new GetCallback<ParseObject>() { public void d
final String startTime;
ParseQuery<ParseObject> startQuery = ParseQuery.getQuery("clockIn");
startQuery.getInBackground(clockInId, new GetCallback<ParseObject>() {
public void done(ParseObject clockIn, ParseException e) {
if (e == null) {
startTime = clockIn.getString("Time");
} else {
// something went wrong
}
}
});
//Retrieve clockOutId (ObjectID for clockOutTime)
final String endTime;
ParseQuery<ParseObject> endQuery = ParseQuery.getQuery("clockOut");
endQuery.getInBackground(clockOutId, new GetCallback<ParseObject>() {
public void done(ParseObject clockOut, ParseException e) {
if (e == null) {
endTime = clockOut.getString("Time");
} else {
// something went wrong
}
}
});
最终字符串开始时间;
ParseQuery startQuery=ParseQuery.getQuery(“时钟”);
getInBackground(clockInId,newgetCallback()){
public void done(ParseObject clockIn,parsee异常){
如果(e==null){
startTime=clockIn.getString(“时间”);
}否则{
//出了点问题
}
}
});
//检索clockOutId(clockOutTime的ObjectID)
最终字符串结束时间;
ParseQuery-endQuery=ParseQuery.getQuery(“发条”);
getInBackground(clockOutId,newgetcallback()){
public void done(ParseObject clockOut,parsee异常){
如果(e==null){
endTime=clockOut.getString(“时间”);
}否则{
//出了点问题
}
}
});
我需要访问endTime和startTime,然后获取差异,但它告诉我由于最终问题,变量尚未初始化。无法修改“最终”变量,您可以在类的开头声明这些变量,然后分配值
试试这个
public class YourActivityOrWhatYouNeed{
String startTime="";
String endTime="";
...
...
...
ParseQuery<ParseObject> startQuery = ParseQuery.getQuery("clockIn");
startQuery.getInBackground(clockInId, new GetCallback<ParseObject>() {
public void done(ParseObject clockIn, ParseException e) {
if (e == null) {
startTime = clockIn.getString("Time");
} else {
// something went wrong
}
}
});
//Retrieve clockOutId (ObjectID for clockOutTime)
ParseQuery<ParseObject> endQuery = ParseQuery.getQuery("clockOut");
endQuery.getInBackground(clockOutId, new GetCallback<ParseObject>() {
public void done(ParseObject clockOut, ParseException e) {
if (e == null) {
endTime = clockOut.getString("Time");
} else {
// something went wrong
}
}
});
公开您的活动或您需要的内容{
字符串startTime=“”;
字符串endTime=“”;
...
...
...
ParseQuery startQuery=ParseQuery.getQuery(“时钟”);
getInBackground(clockInId,newgetCallback()){
public void done(ParseObject clockIn,parsee异常){
如果(e==null){
startTime=clockIn.getString(“时间”);
}否则{
//出了点问题
}
}
});
//检索clockOutId(clockOutTime的ObjectID)
ParseQuery-endQuery=ParseQuery.getQuery(“发条”);
getInBackground(clockOutId,newgetcallback()){
public void done(ParseObject clockOut,parsee异常){
如果(e==null){
endTime=clockOut.getString(“时间”);
}否则{
//出了点问题
}
}
});
希望它能帮助你当我到家时,你会尝试一下,谢谢!变量startTIme和endTime表示它们从未使用过,并且在if语句中表示它们无法解决。有什么想法吗?这是在它自己的方法中。我的错误。是在错误的位置编写代码。再次感谢!