ANDROID 页面状态的保存

YY793924556 2016-03-31 11:37:27
两个页面 A,B .A跳转到B,在B里面修改了一个button的背景,然后返回A,当再打开B的时候,button的背景是修改过的。
也就是 要在B返回A的时候,将B的背景保存下来,不用 SharedPreferences。求大神指教!
...全文
263 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
南关罗杰斯 2016-04-01
  • 打赏
  • 举报
回复
跳转的时候传递个 flag过去,true 改变背景,false不改变.
节操在此 2016-04-01
  • 打赏
  • 举报
回复
给Button设置一个selector,然后在你的适配器数据源的对象中设置一个属性用来标识是否为选中状态,临时保存,只需要改变对应对象的属性就行了
xingzhong128 2016-03-31
  • 打赏
  • 举报
回复
难道lz想用onSaveInstanceState这个方法?这个方法只会保存被系统意外回收的View状态,如果用户主动退出的不会保存啊
xingzhong128 2016-03-31
  • 打赏
  • 举报
回复
感觉Shareprefrence是最好的实现手段,不知道lz为什么不用这种方法。 lz可以用数据库实现保存数据
YY793924556 2016-03-31
  • 打赏
  • 举报
回复
引用 6 楼 ganshenml 的回复:
如果持久性要求不高就设置全局静态变量即可
全局变量,没试过,因为是在listview的item里面的,会不会产生混乱。。。
YY793924556 2016-03-31
  • 打赏
  • 举报
回复
引用 5 楼 a511341250 的回复:
[quote=引用 3 楼 YY793924556 的回复:] [quote=引用 1 楼 xingzhong128 的回复:] 感觉Shareprefrence是最好的实现手段,不知道lz为什么不用这种方法。 lz可以用数据库实现保存数据
这个方法是不是长期性的保存,这个程序退出了,再次打开的时候还会看到保存的结果? 现在就只要求暂时性的保存就可以,程序重新打开以后不再保存此状态,这只是为了做一个标记,方便查看任务是否完成。[/quote] 只要不清缓存就是长期的保存,暂时性的你可以当程序退出后你把这一标记清空就好了,完全满足你的需求[/quote] 因为在listview里面添加的一个button,button背景是getresource().getDrawable()得到的自定义的shap,所以要保存的是 drawable这个对象。有没有其他的办法可以代替,用个image?或者其他的。
xingzhong128 2016-03-31
  • 打赏
  • 举报
回复
引用 3 楼 YY793924556 的回复:
[quote=引用 1 楼 xingzhong128 的回复:] 感觉Shareprefrence是最好的实现手段,不知道lz为什么不用这种方法。 lz可以用数据库实现保存数据
这个方法是不是长期性的保存,这个程序退出了,再次打开的时候还会看到保存的结果? 现在就只要求暂时性的保存就可以,程序重新打开以后不再保存此状态,这只是为了做一个标记,方便查看任务是否完成。[/quote] 可以在A onDestroy里调用sp.remove这样就不会下次进来还有了
ganshenml 2016-03-31
  • 打赏
  • 举报
回复
如果持久性要求不高就设置全局静态变量即可
ESC尛蜜蜂 2016-03-31
  • 打赏
  • 举报
回复
引用 3 楼 YY793924556 的回复:
[quote=引用 1 楼 xingzhong128 的回复:] 感觉Shareprefrence是最好的实现手段,不知道lz为什么不用这种方法。 lz可以用数据库实现保存数据
这个方法是不是长期性的保存,这个程序退出了,再次打开的时候还会看到保存的结果? 现在就只要求暂时性的保存就可以,程序重新打开以后不再保存此状态,这只是为了做一个标记,方便查看任务是否完成。[/quote] 只要不清缓存就是长期的保存,暂时性的你可以当程序退出后你把这一标记清空就好了,完全满足你的需求
YY793924556 2016-03-31
  • 打赏
  • 举报
回复
引用 2 楼 xingzhong128 的回复:
难道lz想用onSaveInstanceState这个方法?这个方法只会保存被系统意外回收的View状态,如果用户主动退出的不会保存啊
这个方法保存不了,再次打开B的时候,不会执行onSaveinstanceState,
YY793924556 2016-03-31
  • 打赏
  • 举报
回复
引用 1 楼 xingzhong128 的回复:
感觉Shareprefrence是最好的实现手段,不知道lz为什么不用这种方法。 lz可以用数据库实现保存数据
这个方法是不是长期性的保存,这个程序退出了,再次打开的时候还会看到保存的结果? 现在就只要求暂时性的保存就可以,程序重新打开以后不再保存此状态,这只是为了做一个标记,方便查看任务是否完成。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧