我有一个函数,需要一些时间来执行。目前,我在线程中运行它,因为我无法使AsyncTask工作。我需要将double []变量作为输入传递给doInBackground,然后它应该将结果(也是double []变量)返回到onPostExecute,其中结果将打印在textView中。看起来很简单:
public class finder extends AsyncTask <Double , Void , Double> {
double[] input;
double[] result;
public finder() {
super();
}
@Override
protected double[] doInBackground(Double... params) {
result = foo(input)
return result;
}
protected void onPostExecute(Double... params) {
}
public double[] foo (double [] input){...}
}
所以我有几个问题:
1-类和每个方法的参数配置可以完成这项工作?2-我需要重写方法吗? (当我将doInBackground说明符更改为double []时,它给我@Override错误)3-每种方法的说明者应该是什么?4-我怎样才能使onPostExecute识别textView?应该传递给asyncTask什么?
您的问题已在下面的链接中回答。我认为它将为您提供帮助。谢谢What arguments are passed into AsyncTask<arg1, arg2, arg3>?