【发布时间】:2014-04-16 10:22:39
【问题描述】:
我正在尝试在 asyncTask 中加载位图,在 onClick 中我将执行 myAsyncTask 并获取位图作为结果。我被 NullPointerException 困住,因为我放入 myAsyncTack 的 String 参数被解码错误(参见 logcat 屏幕截图,第一行是 String data[position] 的 log.d,第二行来自 myAsyncTask 解码方法)。在我的代码中,我需要在后台打开大量图像,如何使用 myAsyncTask 正确完成?
执行:
Log.d("Files", "DATA: " + data[position]);
try{
ImageView mImg = (ImageView) vi.findViewById(R.id.imageView);
BitmapTask btmt = new BitmapTask();
btmt.execute(data[position]);
mImg.setImageBitmap(btmt.get());
} catch (Exception e){
e.printStackTrace();
}
return vi;
异步:
public class BitmapTask extends AsyncTask {
@Override
protected Bitmap doInBackground(String... bmt) {
Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/MANUAL/workflow/" + bmt);
int targetWidth = bm.getWidth() / 1;
int targetHeight = bm.getHeight() / 1;
Bitmap size = Bitmap.createBitmap(bm, 0, 0, targetWidth, targetHeight, matrix(), true);
return size;
}
@Override
protected void onPostExecute(Bitmap result) {
}
}
日志猫:
【问题讨论】:
标签: java android string bitmap android-asynctask