0

file.name = "/sdcard/Pictures/Screenshots/Screenshot_2013-01-15-10-42-02.jpg";

但是,每次我尝试通过单击位图打开文件时,都会导致打开的应用程序崩溃,而不是我的应用程序。此外,位图不会以某种方式显示图像。

Adapter.java(到位图)

public View getView(int position, View convertView, Viewgroup parent(){
   case Image:
   Bitmap bp = new BitmapFactory().decodeFile(file.name);
   image.setImageBitmap(bp.createBitmap(200,200,Config.ARGB_8888));
   break;

}

我的对话框显示目录“/sdcard”及其所有文件。选择文件/图像后,路径将与位图图像一起保存。

(例如:)file.name = "/sdcard/Pictures/Screenshots/Screenshot_2013-01-15-10-42-02.jpg";此外,位图不会以某种方式显示图像。

我已经设置了写外部存储权限。和代码片段如下。我真的不知道出了什么问题。我也尝试了所有文件类型,例如 txt、pdf、doc 等,所有这些都导致打开文件应用程序崩溃,并且无法打开文件。

Adapter.java(到位图)

public View getView(int position, View convertView, Viewgroup parent(){
   case Image:
   Bitmap bp = new BitmapFactory().decodeFile(file.name);
   image.setImageBitmap(bp.createBitmap(200,200,Config.ARGB_8888));
   break;

}
4

1 回答 1

1

哦,我刚刚注意到您的评论“位图无法以某种方式显示图像”。

改变

image.setImageBitmap(bp.createBitmap(200,200,Config.ARGB_8888));

image.setImageBitmap(bp);

createBitmap()创建一个空白位图。它不会调整现有位图的大小。

有几种不同的方法可以调整现有位图的大小。例如,您可以使用:

image.setImageBitmap(Bitmap.createScaledBitmap(bp, 200, 200, true));
于 2013-04-10T15:25:22.763 回答