Класс Resources.NotFoundException
Класс Resources.NotFoundException
в пакете android.content.res
сигнализирует об отсутствии строки, drawable,
макета или другого ресурса.
Возникает при getString,
getDrawable или
setContentView
с неверным R id.
Родственная ошибка разборки XML -
InflateException.
Пример
Давайте поймаем исключение при getString с нулевым id:
import android.content.res.Resources
import android.os.Bundle
import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val line = try {
getString(0)
"abcde"
} catch (e: Resources.NotFoundException) {
Log.e("abcde", "12345")
"12345"
}
setContent {
Text(text = line)
}
}
}
Система не находит ресурс с id 0,
бросает Resources.NotFoundException,
на экране остаётся "12345".
Смотрите также
-
класс
InflateException,
при ошибке XML макета -
класс
Configuration,
которая влияет на выбор ресурсов -
метод
setContentView,
который ищет layout по id -
класс
NameNotFoundException,
если не найдено имя пакета