0

我目前有一些OnClickListener基于事件分配的按钮。但是,当我尝试在方向更改时恢复所有内容时,OnClickListeners所有内容都已重置。

我需要一种将OnClickListener分配给按钮的内容放入包中的方法,以便我可以在OnRestoreInstanceState.

任何帮助将非常感激。

4

2 回答 2

2

抱歉,我没有 50 个代表添加评论。

OnClickListener需要保存实例而不是其变量的任何具体原因?

你可以让你的类实现 OnClickListener。这样,您可以将任何相关信息移动到您的课程中,并且可以轻松访问您的onSaveInstanceState()方法。

无论如何,如果您可以提供您正在尝试做的事情的代码示例,那将非常有帮助。

于 2015-04-15T20:45:36.930 回答
0

理论上,您可以创建实现 View.OnClickListener AND Serializable 的类,启动它并存储对它的引用,然后在旋转时使用 onSaveInstanceState() 将其保存到捆绑包,然后在 onCreate 中恢复它。但坦率地说,你应该有一个很好的理由这样做。我想不出一个。该信息应存储在包含侦听器的根对象中,您可以将其状态保存在该根对象中并正常保存/恢复它。

于 2015-04-15T21:53:28.030 回答