getSparseParcelableArray(@Nullable String key) 现已弃用

问题描述 投票:0回答:1

我的代码如下

    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) 
现已弃用。

如何解决弃用问题?

android sparse-matrix android-13
1个回答
0
投票

看来我可以用

if (Build.VERSION.SDK_INT >= TIRAMISU) {
    savedInstanceState.getSparseParcelableArray(
        SAVED_STATE_CONTAINER_KEY, Fragment.SavedState::class.java
    )
}
© www.soinside.com 2019 - 2024. All rights reserved.