一尘不染

Android视图关闭某些视图的隐式状态保留

java

我有在同一活动中多次动态添加的 自定义 View

每个自定义视图实例在其他东西旁边都有一个TextView孩子。该TextView有它的 ID ,它是同每个视图的实例。

对于每个自定义视图实例,我在创建活动时都设置了不同TextTextView内容。当我旋转屏幕时,将重新创建活动,但是现在每个活动都TextView显示相同Text(文本与最后一个实例的文本相同)。

这是因为实例状态的保存和还原会自动保存一些信息,但是该信息显然与ID链接,在我的情况下会产生问题。

有没有办法禁用特定视图的自动状态保留?

是否有属性或设置或某些解决方法?


阅读 200

收藏
2020-12-03

共1个答案

一尘不染

您可以使用View.setSaveEnabled (boolean enabled)方法。

也可以通过xml使用saveEnabled属性禁用自动状态保存android:saveEnabled="false"

2020-12-03