【发布时间】:2020-12-06 04:09:33
【问题描述】:
我的主活动中有一个 onCreate() 函数和一个 onSaveInstanceState() 函数。我在 onCreate() 中声明了一个 Map,我想在我的 onSaveInstanceState() 函数中访问该 Map 的键,以便将它们保存到 outState 包中。
class MainActivity: AppCombatActivity(){
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
//Want to access the iconMap here, but it is outside of the Map's scope. How do I access it?
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val iconMap = mapOf("contactlessIcon" to getDrawable(R.drawable.ic_contactless_24px), "fingerprintIcon" to getDrawable(R.drawable.ic_fingerprint_black_48dp), "codeIcon" to getDrawable(R.drawable.ic_code_24px))
}
}
我对 Android 编程相当陌生,所以这可能是一个简单的解决方法。我想访问 onSaveInstanceState() 中的iconMap,但它在iconMap's 范围之外。我不能将 iconMap 设为全局变量,因为这会使我的应用程序崩溃。
【问题讨论】:
-
您在
onSaveInstanceState()中保存了哪些iconMap?通常,您应该保存的唯一内容是用户的状态,而不是始终相同的字符串或 Drawable。
标签: android dictionary kotlin oncreate onsaveinstancestate