gpt4 book ai didi

android - 如何在使用导航时关闭 Android 中的当前 fragment ?

转载 作者:行者123 更新时间:2023-12-05 06:07:34 28 4
gpt4 key购买 nike

在按钮上设置监听器后,我创建了 navigationOnClickListener,它将 startDestination 设置为当前 fragment ,在 .navigate() 之后它将目的地更改为另一个 fragment ,但 View 没有改变

onClickListener

 navController = Navigation.findNavController(requireActivity(), R.id.nav_host_fragment)
view.findViewById<Button>(R.id.fragment_button).setOnClickListener {
navController.navigate(R.id.Camera2VideoFragment_To_FirstFragment)
}

closeFragment()

private fun closeFragment()
{
closePreviewSession()
closeCamera()
parentFragmentManager.popBackStack()
updatePreview()
}

ma​​in.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"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main.xml"
app:startDestination="@id/cameraFragment"
>

<fragment
android:id="@+id/cameraFragment"
android:name="com.example.camera2videotextureview.Camera2VideoFragment"
android:label="Camera2VideoFragment"
tools:layout="@layout/fragment_camera2_video">
<action
android:id="@+id/navigateToSecondFragment"
app:destination="@id/firstFragment" />
</fragment>

<fragment
android:id="@+id/firstFragment"
android:name="com.example.camera2videotextureview.FirstFragment"
android:label="FirstFragment"
tools:layout="@layout/fragment_first" />

</navigation>

主要 fragment 是使用 Camera2 API 的相机 fragment 。 FirstFragment 只是空白的 kotlin 类,其中布局仅包含一个 TextView。

编辑:现在我已经编辑了 onClickListener,我无法更改当前 View ,我需要在当前 fragment 上使用 popBackStack,但不知道如何。

最佳答案

Navigation.findNavController(mActivity, R.id.nav_host_fragment).popBackStack();

关于android - 如何在使用导航时关闭 Android 中的当前 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65392664/

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