Saving/loading 具有先前以编程方式添加的按钮的 Android 布局
Saving/loading an Android layout with previously programmatically added buttons
我有一个关于在 main activity 中加载布局的非常简单的问题。我在 activity_main.xml 中定义了一个简单的布局,它使用
在 MainActivity 的 OnCreate() 中加载
setContentView(R.layout.activity_main).
然后在单击按钮时,我添加了另一个正确显示的视图项(按钮)。
但是当应用关闭再打开时,我需要保留上次应用关闭时添加的内容。我该怎么做?
我在这里搜索了一些问题,但大多数都是说使用SharedPreferences保存值或保存状态,但不清楚布局是否也可以保存。
提前致谢。
我认为最好的解决方案是使用 SharedPreferences
保存最新的状态值,因为这是长期保存任何简单数据的好方法。
通过使用 saveInstanceState
保存状态是一个短期解决方案,如果您完全关闭您的应用程序,保存的实例将永远消失。
可能的解决方案:
首先,你不能像你想象的那样保存布局,但是你可以得到布局的parameters
和其他特征作为variables
,然后你可以使用SharedPreferences
保存这些。
其次,当您启动activity时,您应该检查是否有任何保存的布局状态。如果有的话,您可以使用预先保存的参数来添加您的布局 dynamically/programmatically.
我有一个关于在 main activity 中加载布局的非常简单的问题。我在 activity_main.xml 中定义了一个简单的布局,它使用
在 MainActivity 的 OnCreate() 中加载setContentView(R.layout.activity_main).
然后在单击按钮时,我添加了另一个正确显示的视图项(按钮)。
但是当应用关闭再打开时,我需要保留上次应用关闭时添加的内容。我该怎么做?
我在这里搜索了一些问题,但大多数都是说使用SharedPreferences保存值或保存状态,但不清楚布局是否也可以保存。
提前致谢。
我认为最好的解决方案是使用 SharedPreferences
保存最新的状态值,因为这是长期保存任何简单数据的好方法。
通过使用 saveInstanceState
保存状态是一个短期解决方案,如果您完全关闭您的应用程序,保存的实例将永远消失。
可能的解决方案:
首先,你不能像你想象的那样保存布局,但是你可以得到布局的parameters
和其他特征作为variables
,然后你可以使用SharedPreferences
保存这些。
其次,当您启动activity时,您应该检查是否有任何保存的布局状态。如果有的话,您可以使用预先保存的参数来添加您的布局 dynamically/programmatically.