gpt4 book ai didi

Android:如何将参数传递给 AsyncTask 的 onPreExecute()?

转载 作者:IT老高 更新时间:2023-10-28 13:02:00 27 4
gpt4 key购买 nike

我使用 AsyncTask 来加载我作为内部类实现的操作。

onPreExecute() 中,我显示了一个加载对话框,然后我将其再次隐藏在 onPostExecute() 中。但是对于一些加载操作,我事先知道它们会很快完成,所以我不想显示加载对话框。

我想通过一个 bool 参数来表示这一点,我可以将它传递给 onPreExecute() 但显然出于某种原因 onPreExecute() 不接受任何参数。

显而易见的解决方法可能是在我的 AsyncTask 或外部类中创建一个成员字段,我必须在每次加载操作之前设置它,但这似乎不是很优雅。有没有更好的方法来做到这一点?

最佳答案

您可以覆盖构造函数。比如:

private class MyAsyncTask extends AsyncTask<Void, Void, Void> {

public MyAsyncTask(boolean showLoading) {
super();
// do stuff
}

// doInBackground() et al.
}

然后,在调用任务时,执行如下操作:

new MyAsyncTask(true).execute(maybe_other_params);

编辑:这比创建成员变量更有用,因为它简化了任务调用。将上面的代码与:

MyAsyncTask task = new MyAsyncTask();
task.showLoading = false;
task.execute();

关于Android:如何将参数传递给 AsyncTask 的 onPreExecute()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075009/

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