我正在开发一个应用程序来数字化我公司的旧表格。每个表单都有许多输入值(RadioGroups、EditText、Checkboxes)。该应用程序需要一个动态的暗模式,以日出和日落为导向。因此,当我在表单中工作时,如果太阳下山,它应该更改 App-Theme。
我的本地广播服务(由 MainActivity 启动)检查实际时间是否在日落和日出之间并发送广播。前台活动接收到广播,应该将主题更改为深色,但不会丢失输入值。
我尝试的一切都不起作用,因为我在 Receiver 函数中操作并在 onCreate-Method 中设置 ContentView:
setTheme(R.style.AppTheme_Dark)
application.setTheme(R.style.AppTheme_Dark)
theme.applyStyle(R.style.AppTheme_Dark, true)
findViewById<View>(android.R.id.content).invalidate()
非常重要的是,我不会丢失输入中的值,所以我不能使用startActivity(intent)
&finish()
和recreate()
。
有人知道问题的解决方案吗?