单击文件时如何更改文件的 ImageView 背景?

How to Change ImageView background from a file when click on it?

我想在单击 it.The 文件路径正确时更改 ImageView 的图像但是当 运行 此方法停止时 application.When 调试应用程序文件变量包含此路径:/storage/emulated/0/nabege/images/1442670759552.jpg .

我使用这个代码:

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();
    }
}
});

请指教

尝试使用位图

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();
            }
         }
    });

您的最低和目标 SDK 是多少?您可能需要在清单文件中添加 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE(隐式授予 READ_EXTERNAL_STORAGE 权限):

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

参见: http://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE