Android报错:Error inflating class androidx.fragment.app.FragmentContainerView
问题排查:Error inflating class androidx.fragment.app.FragmentContainerView
我正在自学Android并跟着教程实操,遇到报错:Error inflating class androidx.fragment.app.FragmentContainerView。之前查过相关帖子,大多是startDestination未定义的问题,但我的startDestination已经配置了值。以下是相关信息,麻烦帮忙排查:
报错日志
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.geofenceapp/com.example.geofenceapp.MainActivity}: android.view.InflateException: Binary XML file line #24 in com.example.geofenceapp:layout/activity_main: Binary XML file line #24 in com.example.geofenceapp:layout/activity_main: Error inflating class androidx.fragment.app.FragmentContainerView
MainActivity.kt代码
package com.example.geofenceapp import android.os.Bundle import com.google.android.material.snackbar.Snackbar import androidx.appcompat.app.AppCompatActivity import androidx.navigation.findNavController import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController import android.view.Menu import android.view.MenuItem import com.example.geofenceapp.databinding.ActivityMainBinding import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
activity_main.xml代码
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/coordinatorLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".MainActivity" tools:visibility="visible"> <androidx.fragment.app.FragmentContainerView android:id="@+id/navHostFragment" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="409dp" android:layout_height="729dp" app:defaultNavHost="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.5" app:navGraph="@navigation/nav_graph" /> </androidx.constraintlayout.widget.ConstraintLayout>
排查方向
- 检查
nav_graph.xml细节:确认startDestination指向的Fragment类名拼写正确、类存在,导航图中没有重复id或无效引用;若Fragment使用Hilt,需添加@AndroidEntryPoint注解。 - 核对依赖兼容性:确保Navigation组件(
navigation-fragment-ktx、navigation-ui-ktx)的版本与AndroidX其他库、compileSdk版本一致,避免版本冲突。 - 验证Hilt配置:确认Application类已添加
@HiltAndroidApp注解,gradle中正确配置了Hilt插件和依赖,否则会导致Fragment注入失败引发Inflate错误。 - 调整FragmentContainerView宽高:将固定值
409dp、729dp改为match_parent,避免因适配问题导致布局Inflate失败。 - 查看完整报错栈:找到日志中
Caused by开头的具体异常信息,这是定位问题的核心依据(比如类找不到、资源缺失、依赖错误等)。
内容的提问来源于stack exchange,提问作者PhilM
相关产品推荐
相关产品推荐

