我目前有一些OnClickListener
基于事件分配的按钮。但是,当我尝试在方向更改时恢复所有内容时,OnClickListeners
所有内容都已重置。
我需要一种将OnClickListener
分配给按钮的内容放入包中的方法,以便我可以在OnRestoreInstanceState
.
任何帮助将非常感激。
我目前有一些OnClickListener
基于事件分配的按钮。但是,当我尝试在方向更改时恢复所有内容时,OnClickListeners
所有内容都已重置。
我需要一种将OnClickListener
分配给按钮的内容放入包中的方法,以便我可以在OnRestoreInstanceState
.
任何帮助将非常感激。
抱歉,我没有 50 个代表添加评论。
OnClickListener
需要保存实例而不是其变量的任何具体原因?
你可以让你的类实现 OnClickListener。这样,您可以将任何相关信息移动到您的课程中,并且可以轻松访问您的onSaveInstanceState()
方法。
无论如何,如果您可以提供您正在尝试做的事情的代码示例,那将非常有帮助。
理论上,您可以创建实现 View.OnClickListener AND Serializable 的类,启动它并存储对它的引用,然后在旋转时使用 onSaveInstanceState() 将其保存到捆绑包,然后在 onCreate 中恢复它。但坦率地说,你应该有一个很好的理由这样做。我想不出一个。该信息应存储在包含侦听器的根对象中,您可以将其状态保存在该根对象中并正常保存/恢复它。