gpt4 book ai didi

java - 将 ArrayList 传递给 ASyncTask 并更新值

转载 作者:行者123 更新时间:2023-12-02 03:58:16 26 4
gpt4 key购买 nike

我正在开发一个项目,尝试实现 ASyncTask 以发布到 Web 服务器。

我的类定义如下:

public class PostToAPI extends AsyncTask<List<NameValuePair>, Void, JSONObject> implements DialogInterface.OnCancelListener

我的 doInBackground 方法定义如下:

protected JSONObject doInBackground(List<NameValuePair>... postData)

我正在尝试创建一个新的 ArrayList<NameValuePair>这将包括 postData 中的所有内容以及一些额外的值,但我不断收到错误。

以下是我尝试过的

protected JSONObject doInBackground(List<NameValuePair>... postData)
{
List<NameValuePair> updatedPostData = new ArrayList<>();
updatedPostData.addAll(postData);
updatedPostData.add(new BasicNameValuePair(Defines.PreferenceSettings.ACCESS_TOKEN,
settings.getString(Defines.PreferenceSettings.ACCESS_TOKEN, "")));
updatedPostData.add(new BasicNameValuePair(Defines.PreferenceSettings.USER_ID,
String.valueOf(settings.getInt(Defines.PreferenceSettings.USER_ID, 0))));
}

我在 updatedPostData.addAll(postData) 上收到错误。错误是:

addAll (java.util.Collection? extends org.apache.http.NameValuePair>) in
List cannot be applied to (java.util.List<org.apache.http.NameValuePair>[])

现在在我看来 doInBackground 正在传递一个我不想要的 List 数组。

最佳答案

由于postData中只有一个元素,因此只需添加一个下标,如下所示:

updatedPostData.addAll(postData[0]);

关于java - 将 ArrayList<NameValuePair> 传递给 ASyncTask 并更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210220/

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