首页 > 解决方案 > 如何在 Kotlin Android 中进行序列化和获取 serializeContext?

问题描述

我想保存我的状态并将我的状态保存在片段中,因为当点击 recyclerView 项目并返回到带有侦听器的片段时,我丢失了我的上下文并且我在片段中的上下文为null
所以我尽量保持我的上下文是这样的:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putSerializable("SaveContext", context)
}

标签: androidkotlinserializationandroid-recyclerviewonsaveinstancestate

解决方案


你应该context正确初始化你的。例如检查下面

class MyFragment: Fragment() {

    private var mContext: Context? = null

    override fun onAttach(context: Context) {
        super.onAttach(context)
        mContext = context
    }

    override fun onDetach() {
        super.onDetach()
        mContext = null
    }

    fun callbackListener() {
        mContext?.let { 
            //do your operation
        }
    }
}

推荐阅读