我的代码如下
private var savedStateSparseArray = SparseArray<Fragment.SavedState>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (savedInstanceState != null) {
savedStateSparseArray = savedInstanceState.getSparseParcelableArray(
SAVED_STATE_CONTAINER_KEY
) ?: savedStateSparseArray
}
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putSparseParcelableArray(SAVED_STATE_CONTAINER_KEY, savedStateSparseArray)
}
但从 Android 13 (Android Tiramisu) 开始,
getSparseParcelableArray(@Nullable String key)
现已弃用。
如何解决弃用问题?
看来我可以用
if (Build.VERSION.SDK_INT >= TIRAMISU) {
savedInstanceState.getSparseParcelableArray(
SAVED_STATE_CONTAINER_KEY, Fragment.SavedState::class.java
)
}