У меня была похожая проблема, потому что у меня было val в MyBaseFragment
protected abstract val gpsMsg: String
, который я перебирал таким образом в другом Фрагменте перед фрагментом, прикрепленным к контексту.
override val gpsMsg: String = getString(R.string.gps_not_enabled)
Таким образом, основной ошибкой было то, что контекст был нулевым, а getString использует getResources()
, который возвращает requireContext().getResources()
. А в исходном коде requireContext()
будет выдана ошибка.
public final Context requireContext() {
Context context = getContext();
if (context == null) {
throw new IllegalStateException("Fragment " + this + " not attached to a context.");
}
return context;
}
Таким образом, выданная ошибка приводит к тому, что фрагмент не создается. Поэтому я бы посоветовал быть осторожным с контекстом при переопределении.