Класс InflateException
Класс InflateException
оборачивает сбой при чтении XML макета.
Часто причиной служит опечатка в теге,
неизвестный custom view
или несовместимый атрибут.
Возникает внутри
setContentView
у AppCompatActivity.
Внутри cause обычно лежит более точное исключение.
Пример
Давайте поймаем InflateException при битом layout id:
import android.os.Bundle
import android.util.Log
import android.view.InflateException
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
try {
setContentView(R.layout.activity_main)
} catch (e: InflateException) {
Log.e("abcde", "12345")
}
}
}
Если в activity_main.xml ошибка разметки,
inflater бросает InflateException,
запись в logcat попадёт из catch.
Смотрите также
-
метод
setContentView,
где чаще всего всплывает InflateException -
класс
Resources.NotFoundException,
если не найден id ресурса -
класс
AppCompatActivity,
типичный хост XML экрана -
функция
setContent,
альтернатива XML без inflate