2015-09-20 43 views
0

我想单击它时更改ImageView的图像。文件路径是正确的但运行此方法时停止应用程序。当调试应用程序文件变量包含此路径时:/ storage/emulated/0/nabege/images/1442670759552 .jpg。如何在点击文件时从文件更改ImageView背景?

我用这个代码:

btn_showImage.setOnClickListener(new OnClickListener() { 
    @Override 
public void onClick(View v) { 
    File file = new File(Environment.getExternalStorageDirectory().getPath() 
    + "/nabege" + File.separator + "images" + File.separator + imageFileName); 
    try { 
     btn_showImage.setImageURI(Uri.fromFile(file)); 
    } 
    catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
}); 

请指点。

+0

什么是'btn_showImage'在你的代码?它是一个按钮还是imagview? –

+0

这是imageview – programmer138200

+0

文件格式是重要的?我尝试了各种格式。只接受JPEG格式。 – programmer138200

回答

2

尝试使用位图

btn_showImage.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      File file = new File(Environment.getExternalStorageDirectory().getPath() 
        + "/nabege" + File.separator + "images" + File.separator + imageFileName); 
     try { 
       if(file.exists()) 
       { 
        Bitmap image_bmp= BitmapFactory.decodeFile(file.getAbsolutePath()); 
        btn_showImage.setImageBitmap(image_bmp); 
       } 
      } catch (Exception e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 
    }); 
+0

我使用这种方式,像这样改变一行:Bitmap image_bmp = BitmapFactory.decodeFile(file.getPath());但不工作 – programmer138200

+0

是工作? –

+0

不起作用。现在 – programmer138200