sha*_*ooo 6 android android-lifecycle android-activity android-darkmode
我的启动器活动,即 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()
}
Run Code Online (Sandbox Code Playgroud)
在尝试了我的一些实践后找到了解决方案
override fun onCreate(savedInstanceState: Bundle?) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
Run Code Online (Sandbox Code Playgroud)
在 onCreate() 的 super 之前调用暗模式函数
它将阻止两次实例化活动