0

我在将 int 数组传递给扩展 AsyncTask 的类时遇到问题。

int 数组由位图图像的 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

我的代码有什么问题?

提前致谢!

4

2 回答 2

3

params[0]这里指int[]。因此,您可以执行以下操作。

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

int[] data=params[0];
于 2013-07-15T15:00:58.573 回答
1

拉出你需要做的阵列

int[] data = params[0];

然后你可以做你的循环

于 2013-07-15T14:55:14.293 回答