2015-09-20 42 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