(#) ID not found in inflated resource
!!! ERROR: ID not found in inflated resource
This is an error.
Id
: `MissingInflatedId`
Summary
: ID not found in inflated resource
Severity
: Error
Category
: Correctness
Platform
: Android
Vendor
: Android Open Source Project
Feedback
: https://issuetracker.google.com/issues/new?component=192708
Since
: 7.3.0 (September 2022)
Affects
: Kotlin and Java files and resource files
Editing
: This check runs on the fly in the IDE editor
Implementation
: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-checks/src/main/java/com/android/tools/lint/checks/MissingInflatedIdDetector.kt)
Tests
: [Source Code](https://cs.android.com/android-studio/platform/tools/base/+/mirror-goog-studio-main:lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks/MissingInflatedIdDetectorTest.kt)
Checks calls to layout inflation and makes sure that the referenced ids
are found in the corresponding layout (or at least one of them, if the
layout has multiple configurations.)
(##) Example
Here is an example of lint warnings produced by this check:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~text
src/test/pkg/MyActivity.kt:15:Error: @layout/activity_main does not
contain a declaration with id text_field [MissingInflatedId]
requireViewById<EditText>(R.id.text_field).isEnabled = false
---------------
src/test/pkg/MyActivity.kt:21:Error: @layout/list_item does not contain
a declaration with id image_view [MissingInflatedId]
val imgView = rootView.findViewById<ImageView>(R.id.image_view)
---------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Here are the relevant source files:
`src/test/pkg/MyActivity.kt`:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~kotlin linenumbers
package test.pkg
import android.app.Activity
import android.graphics.ColorFilter
import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.ImageView
class MyActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Error: @id/text_field is not in @layout/activity_main
requireViewById