我有一个问题是将一个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
我的代码出了什么问题?
提前致谢!
答案 0 :(得分:3)
params[0]
这里是指int[]
。所以你可以做到以下几点。
@Override
protected Bitmap[] doInBackground(int[] ... params) {
int[] data=params[0];
答案 1 :(得分:1)
拉出你需要做的阵列
int[] data = params[0];
然后你可以做你的循环