Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 避免在应用程序外更改暗主题时重新创建活动(只需忽略)_Java_Android_Themes - Fatal编程技术网

Java 避免在应用程序外更改暗主题时重新创建活动(只需忽略)

Java 避免在应用程序外更改暗主题时重新创建活动(只需忽略),java,android,themes,Java,Android,Themes,我的问题是:当用户从通知菜单更改主题时(意味着在应用程序之外),主题会被重新创建,数据会再次加载,这不是我的应用程序的要求。外部主题的任何更改都不应影响我的内部应用程序主题。我不确定这是否可能 另外,如果有任何帮助,我将不胜感激。这是我的第一个问题之一,不要对我那么苛刻。:) 不要停止主题更改,而是将数据存储在viewModels中 ViewModel类旨在以生命周期意识的方式存储和管理与UI相关的数据。ViewModel类允许数据在配置更改(如屏幕旋转或主题更改)后仍然有效 看一看:“正在重新

我的问题是:当用户从通知菜单更改主题时(意味着在应用程序之外),主题会被重新创建,数据会再次加载,这不是我的应用程序的要求。外部主题的任何更改都不应影响我的内部应用程序主题。我不确定这是否可能


另外,如果有任何帮助,我将不胜感激。这是我的第一个问题之一,不要对我那么苛刻。:)

不要停止主题更改,而是将数据存储在viewModels中

ViewModel类旨在以生命周期意识的方式存储和管理与UI相关的数据。ViewModel类允许数据在配置更改(如屏幕旋转或主题更改)后仍然有效


看一看:

“正在重新创建”--黑暗模式下的更改是一种配置更改,旋转屏幕、更改设置中的区域设置、进入或退出拆分屏幕模式等都是如此。您的应用程序需要能够处理配置更改。请参阅。我已经实现了onConfigurationChanged方法,如文档中所示。但是,它不处理主题配置更改(在MI 8上测试)。请注意,只有当清单条目中有
android:configChanges
并且您尝试的特定类型的配置更改在
android:configChanges
列表中时,才会调用
onconfigurationchanges()
。小米也有可能做了一些与标准安卓不同的事情。不过,我的主要活动中有几个片段。我不应该让黑暗主题重现它,不仅仅是片段和对话片段。