12

有关娱乐状态的文档:Activity

默认情况下,系统使用 Bundle 实例状态来保存有关您的活动布局中每个 View 对象的信息(例如输入到 EditText 对象中的文本值)。因此,如果您的活动实例被销毁并重新创建,则布局的状态将恢复到之前的状态,而您不需要任何代码。

View.setTag(Object) 状态的文档:

设置与此视图关联的标签。标签可用于在其层次结构中标记视图,并且在层次结构中不必是唯一的。标签还可用于在视图中存储数据,而无需求助于其他数据结构。

我的问题是:如果我在我的活动布局中的视图(具有唯一 ID)上设置了一个标签,然后该活动被系统销毁并随后重新创建,那么该视图在重新创建时是否会自动被标记为我最初设置的对象?

4

1 回答 1

7

如果我在我的活动布局中的视图(具有唯一 ID)上设置了一个标签,然后该活动被系统销毁并随后重新创建,那么该视图在重新创建时是否会自动使用我最初设置的对象进行标记?

不,根据我对源代码的阅读。

系统希望在以后的某个日期重新创建活动,因此我可以看到它保持对原始标签的引用。

这并不总是可行的,因为保存的实例状态Bundle需要跨进程边界传输。

于 2013-04-23T15:35:34.100 回答