【发布时间】:2017-12-19 17:18:08
【问题描述】:
我希望你能帮助我。这是我第一次在这里写问题。
我想从图库中选择一张图片并将其显示在 ImageView 中。关闭该活动并重新打开它后,我想显示我们之前选择的图像。选择 Image -> Show Image in ImageView -> Save Image Selection -> Close Activity -> Open Activity -> Show Image Selection。 希望我已经足够清楚了。
从图库中选择图像并将其加载到 ImageView 的第一部分正在工作,目前给我的问题是我正在尝试将所选图像或其路径保存在 SharedPreferences/Preferences 中,但在打开再次活动。使用 SharedPreferences/Preferences 进行保存和加载似乎可行,但它不会显示图片。
我尝试过:Path、EncodedPath 等,但似乎没有任何效果。 我做错了什么?
打开画廊:
Intent gallery = new Intent(Intent.ACTION_GET_CONTENT);
gallery.setType("image/*");
startActivityForResult(gallery, RESULT_LOAD_IMAGE);
保存图片:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK){
Uri imageUri = data.getData();
imageView.setImageURI(imageUri);
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("imageURI", imageUri.getEncodedPath());
editor.commit();
}
}
用于加载所选图像:
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
String imageUriString = settings.getString("imageURI", "");
Uri imageUri = Uri.parse(imageUriString);
Picasso.with(this)
.load(imageUriString)
//.load(testarrraylogo.get(position))
.placeholder(R.drawable.otto)
.error(R.drawable.hochbahn)
// To fit image into imageView
.fit()
// To prevent fade animation
.noFade()
.into(imageView);
【问题讨论】:
标签: android image sharedpreferences android-preferences android-gallery