我为用 Kotlin 编写的应用程序创建了一个自定义 ViewGroup,特别是 FrameLayout,我以编程方式向其中添加多个子视图。子视图是根据用户交互添加的,因此不是在父视图初始化时添加的。更改屏幕方向时,将重新绘制 FrameLayout,而不会显示子视图。如何保留 FrameLayout 的状态,以便在屏幕方向更改时重新绘制子视图?
此外,FrameLayout 是否可以以某种方式保留子视图的状态(例如 EditText 中的文本),或者子视图是否需要自行管理其状态?
谢谢!
您可以这样解决问题:
<resources> <item name="my_edit_text" type="id"/> </resources>
按照以下方式将实际 id 设置为您的视图:
editTextView.id = R.id.my_edit_text