gpt4 book ai didi

java - 公共(public) onPostExecute 方法

转载 作者:太空宇宙 更新时间:2023-11-04 13:39:20 25 4
gpt4 key购买 nike

我正在使用 AsyncTask 类,但我将它用作公共(public)类。我想在执行完成后运行一些代码,但我不知道如何在类之外执行此操作。例如:

exampleAsyncTaskClass.execute(params); 
//What can I write here to execute code after the AsyncTask is completed

无论如何,我可以在任务完成后执行代码,而不使用 protected onPostExecute 方法。或者有什么方法可以使该方法不 protected ?

最佳答案

您可以将处理程序传递到任务的构造函数中,并在任务完成时调用它。

可能看起来像这样:

public class SomeTask extends AsyncTask<Object, Object, Object>{

private OnPostExecuteHandler handler;

public SomeTask(OnPostExecuteHandler handler) {
this.handler = handler;
}

@Override protected Object doInBackground(Object... params) {
return null;
}

@Override protected void onPostExecute(Object o) {
handler.runOnFinish();
}

public interface OnPostExecuteHandler{
void runOnFinish();
}
}

及用法:

new SomeTask(new SomeTask.OnPostExecuteHandler() {
@Override public void runOnFinish() {
//will be called when the task is finished
}
}).execute(someParams);

关于java - 公共(public) onPostExecute 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31373787/

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