[英]AsyncTask Pass an array to onProgressUpdate()
我了解了一些指南,而且我知道如何像这样将许多参数传递给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];
}
因为这确实行不通。 有什么办法吗? 请?
编码:
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);
您可以使用:
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.