首页 > 解决方案 > 如何在不丢失数据的情况下重新启动视图

问题描述

我正在开发一个应用程序来数字化我公司的旧表格。每个表单都有许多输入值(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()

有人知道问题的解决方案吗?

标签: androidformskotlinthemesandroid-darkmode

解决方案


推荐阅读