如何将byte[]类型的参数传给AsynTask类的doInBackground函数?
当我做这样的事情时:
private class Banana extends AsyncTask<byte[], Void, Void> {
protected void doInBackground(byte[]... data) {
mCamera.addCallbackBuffer(byte[] data);
}
protected void onProgressUpdate() {
}
protected void onPostExecute() {
}
}
我收到一条错误消息,指出返回类型与 doInBackground 函数的异步任务不兼容。
最佳答案
doInBackground
实际上需要一个 array[]
数组。所以你可以使用:
private class Banana extends AsyncTask<byte[], Void, Void> {
protected Void doInBackground(byte[]... data) {
mCamera.addCallbackBuffer(data[0]);
return null;
}
protected void onProgressUpdate() {
}
protected void onPostExecute() {
}
}
或者您可以将该数组作为类构造函数参数发送:
private class Banana extends AsyncTask<Void, Void, Void> {
private byte[] data;
public Banana(byte[] data) {
this.data = data;
}
protected Void doInBackground(Void... data) {
mCamera.addCallbackBuffer(this.data);
return null;
}
protected void onProgressUpdate() {
}
protected void onPostExecute() {
}
}
关于android - 如何将 byte[] 类型的参数传递给 AsyncTask 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835082/