В отличие от действий, фрагменты не являются подклассами контекста. Вы увидите множество руководств по Android, где this
передается в качестве аргумента контекста некоторой функции, и это потому, что они вызывают этот код изнутри Activity, а не из фрагмента.
Фрагменты имеют context
свойство, которое вы можете использовать, но оно равно null
до того, как фрагмент будет присоединен к Activity (например, когда класс инициализирован) и после его отсоединения.
Вы можете использовать свойство lazy
делегат, поэтому контекст не будет нулевым при вызове функции getFont
. Но если вы это сделаете, не обращайтесь к свойству из обратного вызова, который может быть вызван после отсоединения фрагмента.
private val mTypeface by lazy { ResourcesCompat.getFont(requireContext(), R.font.open_dyslexic_regular) }