gpt4 book ai didi

android - 重复的 id,标签为空,带有 androidx.navigation.fragment.NavHostFragment 的另一个 fragment

转载 作者:行者123 更新时间:2023-12-03 21:57:18 27 4
gpt4 key购买 nike

问题
我正在尝试在 Activity 中添加一个 fragment 以及导航。但我看到以下错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.myapp/com.app.myapp.HomeMainActivity}: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class fragment
Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class fragment
Caused by: java.lang.IllegalArgumentException: Binary XML file line #12: Duplicate id 0x7f0900ed, tag null, or parent id 0xffffffff with another fragment for androidx.navigation.fragment.NavHostFragment

代码
  • activity_home_new.xml
        <?xml version="1.0" encoding="utf-8"?>
    <layout 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">
    <androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimaryDark"
    tools:context=".HomeMainActivity">

    <fragment
    android:id="@+id/my_nav_host_fragment"
    android:name="androidx.navigation.fragment.NavHostFragment"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:defaultNavHost="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:navGraph="@navigation/nav_graph" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    </layout>

  • 在 Fragment 和 Activity 类中没有进行任何更改。

    我试过的解决方案

    我尝试在 ctivity_home_new.xml 中将 fragment 更改为 framelayout 和 FragmentContainerView 应用程序没有;碰撞。

    我对崩溃的看法

    崩溃与“androidx.navigation.fragment.NavHostFragment”有关。
    与 MapFragment 相关的类似问题很少。

    不找代码,只想知道崩溃的根本原因

    最佳答案

    看来 NavHostFragment 只是一个巧合的 passwalker。此问题与两次膨胀 XML 内容有关。
    就我而言,我在做什么:

    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    binding = ActivitySigninBinding.inflate(layoutInflater)
    setContentView(R.layout.activity_signin)
    }
    它一直在工作,直到我将我的内容分成更多的 fragment 。解决方法是:
     override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    binding = ActivitySigninBinding.inflate(layoutInflater)
    setContentView(binding.root) // Notice the binding root
    }
    希望对您有所帮助,花点时间弄清楚。

    关于android - 重复的 id,标签为空,带有 androidx.navigation.fragment.NavHostFragment 的另一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61328462/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com