微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从分离的片段中获取上下文?

如何解决从分离的片段中获取上下文?

我正在尝试从分离的片段初始化从 DataBaseHandler 派生的类 sqliteOpenHelper,该类将 context 作为构造函数值。 我已经尝试按照 this 问题中的答案建议修复它,但是 override fun onAttach() 没有被调用。我的代码

class CustomFragment : Fragment() {

    /* first attempt to initialize DBHandler. I get an exception saying the fragment is not 
       attached to the context */
    private var db1: DataBaseHandler = DataBaseHandler(requireContext())

    // variables for second attempt to initialize DBHandler (after onAttach)
    private lateinit var fragmentContext: Context
    private lateinit var db2: DataBaseHandler

    override fun onAttach(context: Context) {
        super.onAttach(context)
        fragmentContext = context
    }
    
    // I get an exception,saying that context is not initialized
    db2 = DataBaseHandler(context)
    
} 

任何帮助将不胜感激!

解决方法

你需要初始化DatabaseHandler里面的onAttach()

private lateinit var db2: DataBaseHandler

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。