将int []传递给AsyncTask

时间:2013-07-15 14:52:51

标签: android android-asynctask

我有一个问题是将一个int数组传递给一个扩展AsyncTask的类。

int-array由位图图像的resourceId组成。

final int[] resIdImage =  resId_image;

我通过以下方式发送此载体:

execute(resIdImage);

扩展AsyncTask的类

static class BitmapWorkerTask extends AsyncTask <int[], Void, Bitmap[]>
   private int[] data = new int[9];

和通过 params

收到这些resourceIds的doInBackground
@Override
protected Bitmap[] doInBackground(int[] ... params) {

for (int i = 0; i < data.length; i++) {
    data[i] = params[i];
}

但是我在doInBackGround方法中遇到以下错误:

类型不匹配:无法从int []转换为int

我的代码出了什么问题?

提前致谢!

2 个答案:

答案 0 :(得分:3)

params[0]这里是指int[]。所以你可以做到以下几点。

@Override
protected Bitmap[] doInBackground(int[] ... params) {

int[] data=params[0];

答案 1 :(得分:1)

拉出你需要做的阵列

int[] data = params[0];

然后你可以做你的循环