Реализация onSetInitialValue с исключением нулевого указателя в DialogPreference - PullRequest
1 голос
/ 09 апреля 2019

Я хочу реализовать TimePreference с помощью DialogPreference, я нашел хороший учебник для этого здесь после реализации TimePreference я заметил, что onSetInitialValue (bool, Object) устарел, и вместо этого я реализовал onSetInitialValue (Object)

Когда я пытаюсь реализовать onSetInitialValue (объект), я получаю исключение нулевого указателя, потому что defaultValue равно null, Хотя все работает должным образом с устаревшей функцией

    fun setTime(time: Int) {

        mTime = time

        // Save to SharedPreference

        persistInt(time)

}


 //old version - works       

override fun onSetInitialValue(restorePersistedValue: Boolean, defaultValue: Any?) {

        setTime(

            if (restorePersistedValue)

                getPersistedInt(mTime)

            else

                defaultValue as Int

        )

    }

//New function doesn't work

    override fun onSetInitialValue(defaultValue: Any?) {

        setTime(

            if (mTime!=0)

                getPersistedInt(mTime)

            else

                defaultValue as Int

        )

    }
...