Android开发模板代码(二)——为ImageView设置图片,退出后能保存ImageView的状态

本文为作者原创,允许转载,不过请在文章开头明显处注明链接和出处!!! 谢谢配合~
作者:stars-one
链接:https://www.cnblogs.com/stars-one/p/8414218.html

本篇大约有1221个字,阅读预计需要1.53分钟


接着之前的那个从图库选择图片,设置到ImageView中去,但是,我发现了一个问题,就是再次进入的时候ImageView是恢复到了默认状态,搜索了资料许久之后,终于是发现了解决方法,使用SharePreference储存数据即可

贴上代码

复制代码
  private void save(String imagePath){
        SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();//获得SHaredPreferences.Editor对象
        editor.putBoolean("imageChange",true);//添加一个名为imageChange的boolean值,数值为true
        editor.putString("imagePath",imagePath);//保存imagePath图片路径
        editor.apply();//提交
    }
    private void load(){
        SharedPreferences preferences = getSharedPreferences("data",MODE_PRIVATE);//获得SharedPreferences的对象
        //括号里的判断是去找imageChange这个对应的数值,若是找不到,则是返回false,找到了的话就是我们上面定义的true,就会执行其中的语句
        if(preferences.getBoolean("imageChange",false)){
            String imagePath = preferences.getString("imagePath","");//取出保存的imagePath,若是找不到,则是返回一个空
            displayImage(imagePath);//调用显示图片方法,为ImageView设置图片
        }

    }
复制代码

使用

在准备为ImageView设置图片之前,将图片路径给保存

load()则是放在onCreateed方法中,在初始化完之后

 

测试:

 逻辑分析

Demo下载

 

posted @   Stars-one  阅读(2839)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示