每次我启动我的应用程序时,它都会崩溃并且Logcat会显示以下内容:
Caused by: java.lang.IllegalArgumentException: ID does not reference a View inside this Activity
所以我认为这是说没有找到ID,但这是我的Java文件和相应的XML文件:
NavController navController = Navigation.findNavController(this,R.id.nav_host_fragment);
XML:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/bottom_nav_menu" />
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.285"
app:navGraph="@navigation/mobile_navigation" />
Logcat显示失败是因为Java文件中的ID没有引用此Activity内部的View。但我明确输入了ID:nav_host_fragment。 我不知道出了什么问题,当我在Android Studio中并没有报告任何错误。请帮忙。
setContentView()
之后调用findNavController
吗?你能展示一下你的 Activity 代码吗? - ianhanniballake