android 保存以编程方式创建的 View

标签 android view android-activity android-lifecycle

我以编程方式创建一个 RelativeLayout,其中包含一些其他 View ,并将其添加到以 XML 定义的父级。但是在重新创建 Activity 后,以编程方式创建的所有 View (包括布局)都会消失。我需要一个 SharedPreferences 对象来保存值然后重新创建布局,还是有更简单的方法来保存它?

附言所有新创建的 View 都会分配一个 id

最佳答案

Do I need a SharedPreferences object to save the values and then re-create the layout

您说您正在 onResume() 中创建这些小部件。 onResume() 中的代码需要知道需要创建哪些小部件。如果这纯粹是 transient 信息,并且您担心由于屏幕旋转或其他配置更改而导致 Activity 被销毁和重新创建,请在 Activity 或 Fragment 上使用 onSaveInstanceState() 来传递有关这些小部件的数据,从 Activity 的旧实例到新实例。另一方面,如果您担心几个月后能否重新创建这些 View ,则需要持久存储此信息:SharedPreferences、数据库、一些其他文件结构、“云"等

关于android 保存以编程方式创建的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14033619/

相关文章:

android - 添加和删​​除 Activity 实例

android - 无法在 Android Studio 中更改 AVD 的模拟性能

android - 当用户按下工具栏中的后退图标时,我如何关闭键盘?

android - 通知未在 android 中启动 Activity

javascript - 在 BackBone js 中调用 javascript 渲染 View 。渲染后回调?

ios - UIView 背景颜色没有改变?

Android Activity 在使用暗模式时被实例化两次

android - 将整个文件夹从 windows 移动到 Android 模拟器

android - 如何将通知从我的服务器推送到我的 Android 应用程序?

Android 12 Kotlin - 强烈考虑使用 FLAG_IMMUTABLE,仅当某些功能依赖于 PendingIntent 可变时才使用 FLAG_MUTABLE