[英]Preserving View background colour on recreation of Activity
我已经有了使用Bundle
实例状态来存储在销毁并重新创建Activity
(例如,在屏幕旋转时)时不会存储的内容的概念。 我还看到您不需要为每个View
基本信息(例如TextView
文本)执行此操作,因为系统会为您(至少对于已分配ID的视图)执行此操作。 请参阅http://developer.android.com/training/basics/activity-lifecycle/recreating.html 。
但是,当我使用setBackgroundColor()
以编程方式更改View
的背景颜色(我将基本View
用作链接到颜色选择器的色样setBackgroundColor()
,发现屏幕旋转时颜色会丢失,然后还原为原始设置。 我确实有一个ID分配给View
。
应该自动保留该颜色信息,还是我只是充满希望,我是否必须单独跟踪该颜色信息并在重新创建活动时恢复颜色?
谢谢。
是,当您直接通过View.setBackgroundColor()设置背景色时,总是在将应用程序更改为横向时将其替换为默认布局。 您应该实现:
setContentView(R.layout."activitylayoutname");
并且当然要在布局上设置一个背景参数。
编辑1:尝试通过此链接设置背景值:
而且,如果您想保留“活动”之间的其他价值,则只需重新创建一个活动即可:
http://developer.android.com/training/basics/activity-lifecycle/recreating.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.