为什么 super.onDestroy 在后台线程中显示 "Cannot resolve method onDestroy()"
why super.onDestroy is showing "Cannot resolve method onDestroy()" inside background Thread
在 saveInBackground() 中使用 onDestroy() 方法时会出现无法解析方法 onDestroy() 的错误,所以下面是我这样做的代码
ParseRelation<ParseObject> p = ParseUser.getCurrentUser().getRelation("brkRelation");
ParseQuery p2 = p.getQuery();
List<ParseObject> oc = null;
try {
oc = p2.find();
for (ParseObject country2 : oc) {
if (country2 != null) {
country2.put("online", false);
country2.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
super.onDestroy();
} else {
Toast.makeText(getApplicationContext(), "Please Check your Internet Connection", Toast.LENGTH_LONG).show();
}
}
});
}
}
} catch (ParseException e1) {
e1.printStackTrace();
}
在退出我的应用程序之前,我想在我的数据库中保存一些东西
给我一个错误 Cannot resolve method onDestroy()
如上述回答所述,您不在 Activity class.
的范围内
super 指的是 SaveCallback 而不是 Activity,你可以简单地做:
TheActivityName.super.onDestroy();
如果您想在 class(不是超级)中使用实际实现,您可以调用 TheActivityName.this.onDestroy(),或者只调用 onDestroy(),因为 class 在 escope 中(在第二种情况下,如果您有一个方法的名称与要引用的外部 class 完全相同,则需要 Name.this)
在 saveInBackground() 中使用 onDestroy() 方法时会出现无法解析方法 onDestroy() 的错误,所以下面是我这样做的代码
ParseRelation<ParseObject> p = ParseUser.getCurrentUser().getRelation("brkRelation");
ParseQuery p2 = p.getQuery();
List<ParseObject> oc = null;
try {
oc = p2.find();
for (ParseObject country2 : oc) {
if (country2 != null) {
country2.put("online", false);
country2.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
super.onDestroy();
} else {
Toast.makeText(getApplicationContext(), "Please Check your Internet Connection", Toast.LENGTH_LONG).show();
}
}
});
}
}
} catch (ParseException e1) {
e1.printStackTrace();
}
在退出我的应用程序之前,我想在我的数据库中保存一些东西
给我一个错误 Cannot resolve method onDestroy()
如上述回答所述,您不在 Activity class.
的范围内super 指的是 SaveCallback 而不是 Activity,你可以简单地做:
TheActivityName.super.onDestroy();
如果您想在 class(不是超级)中使用实际实现,您可以调用 TheActivityName.this.onDestroy(),或者只调用 onDestroy(),因为 class 在 escope 中(在第二种情况下,如果您有一个方法的名称与要引用的外部 class 完全相同,则需要 Name.this)