gpt4 book ai didi

java - Android AsyncTask onPostExecute 未触发

转载 作者:行者123 更新时间:2023-12-01 12:00:47 25 4
gpt4 key购买 nike

AsyncTask 通常会发生以下情况:

private class backgroundTask extends AsyncTask<Object, Object, Object> {
protected void onPreExecute() {
this.dialog.setMessage("Doing stuff...");
this.dialog.show();
}

@Override
protected Object[] doInBackground(Object... params) {
// stuff happens here
ResultsObject results = new ResultsObject(processValue);
Object[] values = new Object[2];
values[0] = "STATUS STRING";
values[1] = results;
return values;
}

protected void onPostExecute(Object... result) {
Log.d("actions", "onPostExecute");
if (this.dialog.isShowing())
this.dialog.dismiss();
}
}

但是,onPostExecute 似乎没有被触发。我可以验证 doInBackground 进行返回调用之前的所有内容都已执行。这一定是一些非常简单的事情,我在这里错过了,但我被难住了。我在同一个项目中还有其他 AsyncTasks,并且它们到达 onPostExecute 时没有任何问题。

最佳答案

您正在重载 onPostExecute 方法,但它没有被使用。使用这个:

@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
Log.d("actions", "onPostExecute");
if (this.dialog.isShowing())
this.dialog.dismiss();
}

注意@Override注释,它在这种时候非常有用。如果您尝试覆盖的方法不存在,它将显示错误。

关于java - Android AsyncTask onPostExecute 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27991561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com