我的启动器 Activity ,即 MainActivity 在使用时被实例化了两次AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
这导致两个网络调用并做出奇怪的行为。
有什么可以控制它并只初始化一次吗?
我试过使用 launchMode = "singleTop"和 "singleInstance"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
mRequestQueue = Volley.newRequestQueue(this)
Log.e(TAG,"Skillet")
loadStateData()
initializeListeners()
}
最佳答案
在尝试了一些我的做法后找到了解决方案
override fun onCreate(savedInstanceState: Bundle?) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
在 onCreate() 的 super 之前调用暗模式函数
它将防止两次实例化 Activity
关于Android Activity 在使用暗模式时被实例化两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61128208/