gpt4 book ai didi

android - AsyncTask 方法 execute() 的多个输入参数

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:30:02 24 4
gpt4 key购买 nike

大家。我已经在 android 网站上阅读了 AsyncTask 的 excute() 的描述:

public final AsyncTask<Params, Progress, Result> execute (Params... params)

但是在我的项目中,我读过这样的代码:

private static final int JSON = 0;
private static final int NAME = 1;
@Override
protected String doInBackground(String... strData) {
FileOutputTask task = new FileOutputTask(context);
task.execute(strData[JSON], strData[NAME]);
}

有人能告诉我为什么execute() 方法有2 个输入参数

按照规范,输入参数应该只有一个。

提前致谢!

最佳答案

这是我如何让它传递多个参数的。您可以按照 Boris 的描述进行操作,但如果您传递不同的类型会怎样?

首先,像往常一样创建 AsyncTask,但在其中创建一个构造函数:

    private class StartTask extends AsyncTask<Context, Void, Boolean> 
{
private ProgressDialog progress;
private String strAction="";

public StartTask(ProgressDialog progress, String Action)
{
this.progress = progress;
this.strAction = Action;
}
}

现在,在您的事件或其他任何事情上,当您想要启动操作时,您可以调用 AsyncTask 并传递任意数量的参数。

    ProgressDialog progress = new ProgressDialog(this);
progress.setMessage("Loading...");
String strAction = "this_is_a_string";
new StartTask(progress, strAction).execute(this);

您可以看到调用“StartTask”并传递构造函数参数现在将在 StartTask 类中分配变量。

关于android - AsyncTask 方法 execute() 的多个输入参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931057/

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