我有活动和片段。我得到共享偏好。在我的片段中:
private var dManager: DataManager?=null
private lateinit var sp: SharedPreferences
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View?{
val view = inflater.inflate(R.layout.fragment_test1_new_design, container, false)
level = arguments!![Constants.LEVEL].toString()
sp = activity!!.getSharedPreferences(Constants.APP_PREFERENCES, AppCompatActivity.MODE_PRIVATE)
dManager = MyApp.gManager.getDataManager(sp,level,test)
有时我会收到崩溃报告
lateinit property sp has not been initialized
我在初始化之前不使用 sp,所以这意味着activity!!.getSharedPreferences(Constants.APP_PREFERENCES, AppCompatActivity.MODE_PRIVATE)
返回 null。这是否意味着活动已被破坏?
如果我检查 sp == null,我应该在片段中进一步做什么?重新启动应用程序或重新创建活动?什么是正确的方法?