我正在尝试创建一个应用程序,我可以让用户选择要在其个人资料中显示的图片.我可以在imageview上浏览和设置他们选择的图像.但是一旦活动被破坏,图像就会丢失.我试图实现onSaveInstanceState,但它仍然是相同的.我想知道我是否正确使用它.我希望你能帮助像我这样的新手.提前致谢.这是我正在使用的代码:

public class AccountFragment extends Fragment implements OnClickListener {

private LoginDataBaseAdapter loginDataBaseAdapter;

Bitmap image;

Bitmap bitmap;

String picture_location;

TextView textTargetUri;

ImageView targetImage;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment_account, container, false);

textTargetUri = (TextView) rootView.findViewById(R.id.targeturi);

targetImage=(ImageView) rootView.findViewById(R.id.profpic);

targetImage.setOnClickListener(new ImageView.OnClickListener(){

@Override

public void onClick(View arg0) {

Intent intent = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent, 0);

}});

if (savedInstanceState != null) {

//if there is a bundle, use the saved image resource (if one is there)

image = savedInstanceState.getParcelable("BitmapImage");

targetImage.setImageBitmap(image);

textTargetUri.setText(savedInstanceState.getString("path_to_picture"));

}

return rootView;

}

@Override

public void onSaveInstanceState(Bundle savedInstanceState){

super.onSaveInstanceState(savedInstanceState);

savedInstanceState.putParcelable("BitmapImage", bitmap);

savedInstanceState.putString("path_to_picture", picture_location);

}

@Override

public void onActivityResult( int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == Activity.RESULT_OK){

Uri targetUri = data.getData();

picture_location = targetUri.toString();

textTargetUri.setText(targetUri.toString());

Bitmap bitmap;

try {

bitmap = BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(targetUri));

targetImage.setImageBitmap(bitmap);

}

catch (FileNotFoundException e){

e.printStackTrace();

}

}

}

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

}}

顺便说一句,你可能已经注意到,在oncreate之后我没有使用onRestoreInstanceState,而是尝试使用不同的方法.我从另一个问题中找到了答案,你也可以在oncreate中实现它.我使用它,因为每当我声明函数onRestoreInstanceState时,我都会被要求删除@Override注释.

@Override

protected void onRestoreInstanceState(Bundle savedInstanceState){

image = savedInstanceState.getParcelable("BitmapImage");

targetImage.setImageBitmap(image);

textTargetUri.setText(savedInstanceState.getString("path_to_picture"));

}

Android图片粘上后仍错误,android – 在Activity被销毁后,ImageView上的图像丢失了相关推荐

  1. Android图片压缩(质量压缩和尺寸压缩)Bitmap转成字符串上传

    在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...

  2. android图片点击全屏显示,Android浏览图片,点击放大至全屏效果

    近期做一个项目类似于QQ空间,做到照片浏览的功能,对于QQ空间中点击图片放大至全屏,感觉效果非常赞,于是也做了个类似的效果. 例如以下. 我不知道QQ那个是怎么做的.我的思路例如以下: 首先.从图片缩 ...

  3. android图片美化开源,GitHub - xingxing-yan/BLImage: Android中美化图片的库。功能包括滤镜,贴纸,标签,裁剪,涂鸦,亮度,饱和度,对比度,马赛克等功能...

    BLImage Android中美化图片的库.功能包括滤镜,贴纸,标签,裁剪,涂鸦,亮度,饱和度,对比度,马赛克等功能 效果图 添加依赖: 在project的build.gradle中添加: allp ...

  4. android获取支付宝登录账号密码错误,Android实现支付宝6位密码输入界面

    我们先来照图分析一下: (1)限制输入6位,每一位都有自己的框格,每个格显示一位: (2)有回退/取消支付按钮: (3)有忘记密码链接: (4)自定义的只能输入数字的键盘输入区: (5)在6位输完后自 ...

  5. android 图片传递,如何使用包在Android活动之间传递图像(位图)?

    按照@EboMike的建议,我将位图保存在一个名为MyImage在我的应用程序的内部存储中,无法访问我的其他应用程序.这部分的代码如下:public String createImageFromBit ...

  6. GitHub 上受欢迎的 Android UI Library 整理

    抽屉菜单 https://github.com/mikepenz/MaterialDrawer ★7337 - 安卓抽屉效果实现方案 https://github.com/Yalantis/Side- ...

  7. Android 图片框架原理——Glide源码分析

    目录 前言 一.With() 二.load() 三.into() 1. buildImageViewTarget() 2.关注1 :buildRequest 构建 3.关注2:runRequest 执 ...

  8. GitHub 上受欢迎的 Android UI Library整理(part_two)

    通知 https://github.com/Tapadoo/Alerter ★2528 - 克服Toast和Snackbar的限制 https://github.com/wenmingvs/Notif ...

  9. Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53939176 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

最新文章

  1. Go 学习笔记(74)— Go 标准库之 unsafe
  2. linux下安装hadoop
  3. php自己写配置项,创建配置文件 用PHP写出自己的BLOG系统 2
  4. SAP Spartacus auto focus Directive响应模型变化的一些触发时机例子
  5. php破坏代码,php不破坏单词截取子字符串
  6. php输出12个月,php获取12个月内的开始时间和结束时间
  7. 数聚新动能 数创大未来——2016中国国际大数据大会
  8. android学习的java,android学习之java常识
  9. [毕业生的商业软件开发之路]系列文章目录规划
  10. java语言的科学与艺术-编程练习10.4
  11. 计算机系统结构选择题
  12. SQL Server 2016新特性: 对JSON的支持
  13. centOs中安装 IF.SVNadmin 及SVN过程详细
  14. matlab 冒泡排序函数,Matlab排序算法-遍历排序、冒泡排序
  15. 基于模糊聚类的图像分割
  16. 外地户籍应届毕业生落户上海申请及办理流程(包括海外)
  17. python平方根计算_Python计算平方根
  18. 一名5年工作经验的程序员应该具备的技能
  19. 吹气球--记忆化搜索
  20. the-craft-of-selfteaching之《自学是门手艺》开源项目书的学习笔记一篇

热门文章

  1. 线性规划总结3——单纯形法和对偶单纯形法
  2. 一文搞定JS中的DOM基础与进阶
  3. 基于IAR-stm32裸板工程,完美移植RT-Thread Nano系统(附源码)
  4. 查看mysql的启动日志目录下_mysql诊断启动问题、查看日志文件详解
  5. python和什么一起学_[lvog1]和小菜一起学python(零基础开始学习)
  6. C/Cpp / 设计模式 / 模板模式
  7. Linux 信号可靠性,同步,异步,多线程信号等介绍
  8. vs python opencv配置_python如何配置opencv
  9. python函数作用域包括局部变量和参数_python函数变量的作用域声明(全局变量和局部变量)...
  10. 生成android_Android开发:生成桌面快捷方式是这样做的