当前位置: 首页 > 知识库问答 >
问题:

在Kotlin中从一个片段导航到另一个片段

厍华清
2023-03-14

我试着从一个片段到主要片段。编译器不喜欢我的代码,但我不确定是什么问题。转换片段的最佳实践是什么?

//这是我要导航到的主片段的xml

<FrameLayout 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=".MapFragment"
             android:id="@+id/mapFragment">

    <fragment
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/maps"
    />




val fragment = Fragment(R.id.mapFragment)

                fragmentManager
                    ?.beginTransaction()
                    ?.setCustomAnimations(R.anim.abc_fade_in, 
                    R.anim.abc_fade_out)
                    ?.replace(R.id.nav_host_fragment, fragment)
                    ?.commit()

2019-07-12 17:49:45.091 959 4-9594/com.example.cribb E/AndroidRuntime:致命异常:主进程:com.example.cribb,PID:9594 Android.content.res.resources$NotFoundException:资源ID#0x7F0800AE类型#0x12在Android.content.res.resources.LoadXMLResourceParser(resources.java:2161)在Android.content.res.resources.GetLayout(resources.java:1155)在PL.java:2076)在AndroidX.Fragment.App.FragmentManagerImpl.ExecuteOpstogether(FragmentManagerImpl.1866)在AndroidX.Fragment.App.FragmentManagerImpl.RemoveredUndantOperationSandexecute(FragmentManagerImpl.java:1821)在AndroidX.Fragment.App.FragmentManagerImpl.ExecpendingActions(FragmentManagerImpl.1727)在AndroidX.Fragment.App.FragmentManagerImpl.ExecpendingActions(

共有1个答案

雍嘉勋
2023-03-14

问题是由于您在XML中使用了 标记,如果您在XML中使用 标记定义了片段,则无法使用replace并更改片段。更换

 <fragment
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/maps"
/>

 <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/maps"
/>

应该能成功。

 类似资料:
  • 您好,我已经使用导航组件和导航图从一个片段导航到另一个片段,我想要的是防止onBack完全按下,这样当用户单击onBack时,应用程序将退出。我正在从注册片段导航到主页片段。 这是导航图中的代码 这是我的代码,当点击注册按钮时,在注册片段中导航

  • 这是我完整的logcat: 在Android.support.v4.app.backStackRecord.doaddop(backStackRecord.java:414)在Android.support.v4.app.backStackRecord.replace(backStackRecord.java:449)在Android.support.v4.app.backStackRecord.

  • 先生/女士,我想使用android JAVA将一个片段回调到另一个片段。我试图找到问题,但没有找到解决方案。若我使用接口,它会向活动发送回调响应,这是我不想要的。非常感谢。

  • 我正在尝试实现一个简单的设计。一个带有宿主片段的活动。 问题是,其中一个目的地有一个底部导航栏。 经过一点研究,我发现最好的做法是有一个带有宿主片段的单一活动。 在我的特殊情况下,底部导航栏不应该在登录和注册片段中可见,只是隐藏它对我来说似乎不合适。 我设法创建了一个带有底部导航条的活动,将主片段连接到frag 1、frag 2或frag 3,但现在我需要添加登录片段和注册片段,我不确定如何处理导

  • 这里是链接的代码,我正在做同样的事情链接