@Anrek

Почему вылетает приложение при использовании строки из enum class?

Добрый вечер!

Почему вылетает приложение в месте инициализации массива/переменной при использовании данных из enum class?

enum class Items(@StringRes val textRes: Int) {
    Near(R.string.spinner_near),
    Rate(R.string.spinner_rate)
}

var valuesResumesSpinner = arrayOf(    // вылетает тут
        getString(Items.Near.textRes),
        getString(Items.Rate.textRes)
)


При этом если положить строку в лог, то все работает:
Log.i("TAG", "${getString(Items.Near.textRes)}")
а если инициализировать ею рандомную переменную типа String, то тоже все вылетает:
var a: String = getString(Items.Near.textRes)

В чем дело?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@Anrek Автор вопроса
Дело было в том, что я объявил массив и переменную тоже прямо в теле класса. А эта переменная опирается на view. А так как фрагмент еще не создался мне выходила ошибка:

Fragment MainFragment not attached to a context.

Проблема решилась при объявлении того же массива в onViewCreated.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы