我通过了一些指南,我知道,如何将许多参数传递到onProgressUpdate这样
@Override
protected void doInBackground(Void... params){
publishProgress("a","b");
}
@Override
protected void onProgressUpdate(String... params){
String passed1 = params[0];
String passed1 = params[1];
}
现在。是否有可能发送数组?
喜欢这个
@Override
protected void doInBackground(Void... params){
String[] values = new String[2];
values[0]="c";
values[1]="d";
publishProgress("a","b",values);
}
@Override
protected void onProgressUpdate(String... params){
String passed1 = params[0];
String passed1 = params[1];
String passed3 = params[3][0];
String passed3 = params[3][1];
}
因为这不起作用。 有解决方案吗请?
答案 0 :(得分:3)
代码:
publishProgress("a","b",values);
预计
的签名protected void onProgressUpdate(String, String, String[])
要传递数组,您需要所有值:
String[] values = new String[4];
values[0]="a";
values[1]="b";
values[2]="c";
values[3]="d";
publishProgress(values);
答案 1 :(得分:1)
您可以使用:
int var1,var2,var3;
publishProgress(var1,var2,var3,.....);
并在onProgressUpdate:
protected void onProgressUpdate(Integer... values){
int a = values[0];
int b = values[1];
int c = values[.....].......
可以与任何数据类型一起使用,您需要在第二个参数中提及onProgressUpdate
public class MyTask extends AsyncTask<Void,**Integer**,String>