如何改变ImageView背景从一个文件,当点击它



我想改变ImageView的图像,当点击它。文件路径是正确的,但当运行此方法停止应用程序。当debug app文件变量包含如下路径:/storage/emululated/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是什么?您可能需要在manifest文件中添加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

相关内容

最新更新