First let me apologize for my English, it’s quite bad so there will be mistakes
Then i know this error appeared on forum million of times, but please help me find what I missed. I’m trying to do simple tab orientated application,I don’t have much (except errors)
Thank you so much
Logcat said:
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2958)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3093)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6825)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860)
Caused by: android.view.InflateException: Binary XML file line #25: Binary XML file line #25: Error inflating class androidx.fragment.app.FragmentContainerView
Caused by: android.view.InflateException: Binary XML file line #25: Error inflating class androidx.fragment.app.FragmentContainerView
Caused by: java.lang.RuntimeException: Exception inflating com.ct07.ttn:navigation/room_nav_graph line 27
- This is my MainActivity
package com.ct07.ttn
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupWithNavController
import com.ct07.ttn.databinding.ActivityMainBinding
import com.ct07.ttn.repository.RoomRepository
import com.ct07.ttn.viewmodel.HomeViewModel
import com.ct07.ttn.viewmodel.HomeViewModelProviderFactory
class MainActivity : AppCompatActivity() {
lateinit var homeViewModel: HomeViewModel
lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val roomRepository = RoomRepository()
val viewModelProviderFactory = HomeViewModelProviderFactory(application, roomRepository)
homeViewModel = ViewModelProvider(this, viewModelProviderFactory).get(HomeViewModel::class.java)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.homeNavHostFragment) as NavHostFragment
val navController = navHostFragment.navController
binding.bottomNavigationView.setupWithNavController(navController)
}
}
- This is my acitivity_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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/flFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.fragment.app.FragmentContainerView
android:id="@+id/homeNavHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/room_nav_graph" />
</FrameLayout>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="80dp"
app:menu="@menu/bottom_navigation_menu"
app:itemTextColor="@color/white"
app:itemIconTint="@color/white"
android:background="@color/purple_500"
app:itemActiveIndicatorStyle="@style/App.Custom.Indicator"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
- This is my room_nav_graph.xml
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/room_nav_graph"
app:startDestination="@id/homeFragment">
<fragment
android:id="@+id/homeFragment"
android:name="com.ct07.ttn.fragments.HomeFragment"
android:label="HomeFragment" >
<action
android:id="@+id/action_homeFragment_to_roomFragment"
app:destination="@id/roomFragment" />
</fragment>
<fragment
android:id="@+id/favoriteFragment"
android:name="com.ct07.ttn.fragments.FavoriteFragment"
android:label="FavoriteFragment" >
<action
android:id="@+id/action_favoriteFragment_to_roomFragment"
app:destination="@id/roomFragment" />
</fragment>
<fragment
android:id="@+id/roomFragment"
android:name="com.ct07.ttn.fragments.RoomFragment"
android:label="RoomFragment" >
<argument
android:name="room"
app:argType="com.ct07.ttn.models.Room"
app:nullable="true" />
</fragment>
</navigation>
I try so much and watch forum but i can’t find my problem
New contributor
Lê Thanh Yên is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.