无法调用相册图片@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {//相机中选择图片 // 获取选择的图片的URI Bundle extras = data.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data"); // 在ImageView中显示选择的图片 camerapicture.setImageBitmap(bitmap); } else if (requestCode == 102 && resultCode == RESULT_OK) {//相册中选择图片 Bundle extras = data.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data"); // 在ImageView中显示选择的图片 choosepicture.setImageBitmap(bitmap); } } }
时间: 2024-04-09 22:28:58 浏览: 116
很抱歉,我之前给出的代码有误。对于从相册选择图片的情况,我们需要使用不同的方法来获取图片。以下是修正后的代码:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {//相机中选择图片
// 获取选择的图片的URI
Bundle extras = data.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
// 在ImageView中显示选择的图片
camerapicture.setImageBitmap(bitmap);
}
else if (requestCode == 102 && resultCode == RESULT_OK) {//相册中选择图片
Uri selectedImage = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
// 在ImageView中显示选择的图片
choosepicture.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们通过`data.getData()`方法获取从相册选择的图片的URI,并使用`MediaStore.Images.Media.getBitmap()`方法将URI转换为Bitmap对象。然后将Bitmap对象显示在`choosepicture`的ImageView上。
阅读全文