android - 在方向更改时保留 DialogFragment 状态

标签 android android-dialogfragment

我有一个 DialogFragment,它从文件中加载信息并在屏幕上创建一定数量的 EditText 字段(最少可以有 5-6 个,也可以有几十个)。从文件加载时,它们都有一个初始值。
用户还可以通过按下按钮来添加其他文本字段。这些文本字段可以添加到现有字段之间的多个位置。一切都以编程方式添加。
当方向发生变化时,所有这些都会丢失。有没有办法防止这种情况发生?不是通过保存信息然后恢复它,而是简单地防止它发生?

对话框创建时的字段数取决于将从文件中加载的信息。发生方向变化时的字段数不必相同。用户可以通过按下添加新字段的多个按钮中的一个按钮来添加新字段。该对话框可以同时包含 30 多个字段。保存状态然后恢复它可能需要一个复杂的方法(可能类似于将 View 保存在静态列表中,或者可能是整个布局)。在对话框打开时完全防止方向改变可能是最好的选择,或者可能迫使它横向显示,因为用户需要输入很多内容......

有没有更简单的方法来解决这个问题?

最佳答案

是的,您可以添加属性 android:configChanges="orientation|screenSize|keyboard|keyboardHidden"Activity AndroidManifest.xml中的声明文件。

关于android - 在方向更改时保留 DialogFragment 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35637441/

相关文章:

java - 当正确回答时,在 GridView 中的图像上设置刻度线

java - 将星号转换为粗体或斜体标签

android - Android中多个Fragment之间如何传递数据

android - DialogFragment show() 方法中的错误

android - 图片从SD卡到byte[]

android - 如何清理我的 react-native 项目以备份它?

android - 如何在服务中访问 getFragmentManager() 方法?

java - 我无法从 DialogFragment 中的 EditText 对象中获取文本(获取空字符串,即 "")

android - Fragment,DialogFragment问题

android - DialogFragment setCancelable 属性不起作用