加载图片后,imageview不会更新

时间:2011-11-16 22:38:04

标签: java android image

当我按下加载按钮时,我想要去厨房,选择一张图片,然后将imageview img设置为该图片。问题是在我选择厨房中的图片后,imageview不会更新。但是,如果我第二次按下加载按钮,则需要一两秒才能加载厨房,在此期间,imageview将加载我之前选择的图片。有人可以帮助我,所以我可以让imageview正确刷新

 load.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View arg0) {        
              Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
                try {

                    FileInputStream in = new FileInputStream(selectedImagePath);
                     bMap = BitmapFactory.decodeStream(in);
                     img.setImageBitmap(bMap);
                     if (in != null) {
                         in.close();
                     }
                     img.invalidate();

                } catch (Exception e) {}
            }      
 });

1 个答案:

答案 0 :(得分:2)

嗯,这样做不行:) 您应该移动代码以加载并将位图设置为onActivityResult方法。捕获Exception实例也是一个非常糟糕的例子 - 尝试只捕获相应的已检查异常 - 即FileNotFoundException或者其他东西 - 你可以删除你的try - catch clasuse,然后在Eclipse中删除pres ctrl + 1 FileInputStream in = new ...行 - >使用try-catch选项选择环绕声,eclipse会自动生成适当的catch子句(这里我指的是要处理的正确的已检查异常,而不是catch子句体:)。