AsyncTask的得到一个错误的字符串参数 [英] AsyncTask get a wrong String parameter

查看:151
本文介绍了AsyncTask的得到一个错误的字符串参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图加载在AsyncTask的位图,在onclick我将执行myAsyncTask并得到位图作为结果。我坚持用NullPointerException异常,因为String参数,我把给myAsyncTack是德codeD错误的(见截图logcat中,第一行是字符串数据[位置]的log.d,第二个是从myAsyncTask德code法)。在我的code我需要打开大量的背景图片,我该怎么办它myAsyncTask吧?

I'm trying to load bitmaps in the asyncTask, in the onClick I will execute myAsyncTask and get bitmap as result. I'm stuck with NullPointerException, because String parameter, that I put to myAsyncTack is decoded wrong (see logcat screenshot, first line is log.d of String data[position], and the second is from myAsyncTask decode method). In my code I need to open lots of images at background, how can I do it right with 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) {

        }

    }

logcat的:

logcat:

推荐答案

更改此:

Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/MANUAL/workflow/" + bmt);

这样:

Bitmap bm = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/MANUAL/workflow/" + bmt[0]);

您必须让字符串...的第一个元素BMT 字符串数组。

这篇关于AsyncTask的得到一个错误的字符串参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆