设计有效的导航:一致的导航是整体用户体验的重要组成部分。除了基本导航之外,很少有事情会以不一致和意想不到的方式挫败用户。
如何从一个导航图中创建的一个片段导航到位于另一个导航图中的另一个片段?
我创建了一个 MainActivity,其中有一个片段 HelloFragment 和一个导航图 nav_graph。 我还有另一个 Activity WhyActivity,它有一个 Fragment WhyFragment 和一个 Navigation Gr...
类 MainActivity : AppCompatActivity() { 覆盖 fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } ...
在Android Studio中创建新应用程序时,使用底部导航活动,我发现片段底部的内容不会显示,因为BottomNavigationView是h...
需要使用 handler.postDelayed 从 DialogFragment 返回,使用带有布尔参数的导航组件返回
我正在使用导航组件来启动和关闭错误对话框。我注意到,当我尝试在重试流程上重新打开错误对话框时,我收到一条错误消息,指出无法找到该操作。它...
popBackStack() 在 android NavController 中不起作用
我正在使用 android JetPack 导航在我的片段之间导航。这就是我的导航图的样子 我正在使用 android JetPack 导航在我的片段之间导航。这就是我的navigation graph的样子 <?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/registration_nav_graph" app:startDestination="@id/registrationStoreNameFragment"> <fragment android:id="@+id/registrationStoreNameFragment" android:name="com.minidukaan.android.feature.registration.view.RegistrationStoreNameFragment" android:label="fragment_registration_store_name" tools:layout="@layout/fragment_registration_store_name" > <action android:id="@+id/action_registrationStoreNameFragment_to_registrationStoreUrlFragment2" app:destination="@id/registrationStoreUrlFragment2" /> </fragment> <fragment android:id="@+id/registrationStoreUrlFragment2" android:name="com.minidukaan.android.feature.registration.view.RegistrationStoreUrlFragment" android:label="RegistrationStoreUrlFragment" > <action android:id="@+id/action_registrationStoreUrlFragment2_to_registrationLocationFragment" app:destination="@id/registrationLocationFragment" /> <argument android:name="store_name" app:argType="string" /> <argument android:name="store_slug" app:argType="string" /> </fragment> <fragment android:id="@+id/registrationLocationFragment" android:name="com.minidukaan.android.feature.registration.view.RegistrationLocationFragment" android:label="fragment_registration_location" tools:layout="@layout/fragment_registration_location" > <action android:id="@+id/action_registrationLocationFragment_to_registrationSuccessFragment" app:destination="@id/registrationSuccessFragment" /> <argument android:name="store_name" app:argType="string" /> <argument android:name="store_slug" app:argType="string" android:defaultValue=""/> </fragment> <fragment android:id="@+id/registrationSuccessFragment" android:name="com.minidukaan.android.feature.registration.view.RegistrationSuccessFragment" android:label="fragment_registration_success" tools:layout="@layout/fragment_registration_success" /> 从RegistrationStoreNameFragment我像这样导航到RegistrationStoreUrlFragment private lateinit var navController: NavController override fun init(savedInstanceState: Bundle?) { super.init(savedInstanceState) .... binding.lifecycleOwner = this navController = view?.let { Navigation.findNavController(it) }!! val action = RegistrationStoreNameFragmentDirections. actionRegistrationStoreNameFragmentToRegistrationStoreUrlFragment2(storeName, it.slug) navController.navigate(action) } 所以它可以完美导航,但是当我在 navController.popBackStack() 中执行 RegistrationStoreUrlFragment 时,它不会导航回来。任何帮助将不胜感激,因为我很长时间都陷入这个问题。 对于其他片段,popBackStack 工作正常,但不适用于上面提到的片段。 您想什么时候导航? 如果您想在任何自定义事件中导航回之前添加的片段, 您必须在 NavGraph 中的 Fragment 标签下定义 popUpTo 操作, <fragment android:id="@+id/registrationStoreUrlFragment2" android:name="com.minidukaan.android.feature.registration.view.RegistrationStoreUrlFragment" android:label="RegistrationStoreUrlFragment" > <action android:id="@+id/action_pop_back" app:destination="@id/registrationSuccessFragment" app:popUpTo="@+id/registrationSuccessFragment"/> </fragment> 并在导航中这样调用它, findNavController().navigate(R.id.action_pop_back) 当前片段要返回 homeFragment findNavController().popBackStack(R.id.homeFragment, true) 这对我来说工作得很好。也许会对你有帮助 对于我的情况,我遇到了同样的问题,我尝试了通过在 app:popUpTo 中设置 xml 给出的解决方案,但对我来说问题是后退按钮在这种情况下只能工作一次。 然后我用 app:popUpToSaveState 将其设置如下,现在来回工作正常: <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/anonymous_navigation" app:startDestination="@id/startupFragment"> <fragment android:id="@+id/landingFragment" android:name="com.myApp.ui.landing.LandingFragment" android:label="fragment_landing" tools:layout="@layout/fragment_landing" > <action android:id="@+id/action_landingFragment_to_loginFragment" app:destination="@id/loginFragment" app:popUpToSaveState="@id/landingFragment" /> </fragment> </navigation> 然后在代码中,当按下后退时我会调用navigateUp: findNavController().navigateUp()
仅在小米机型中使用jetpack compose第二次打开应用程序时出现白屏
打开或旋转应用程序时出现白屏。 直到我在白色屏幕上单击/滑动并且显示滑动数据后,该白色屏幕才会消失。 这种情况只发生在 MI 型号的手机上...
我正在使用 Jetpack Compose 和 androidx-navigation-compose。 一般来说,我喜欢在底部导航选项卡之间切换时的保存/恢复状态机制。 但是,如果我处于
为什么 Android 保存 EditText 的状态,而不是 TextView?
在 Android 项目中,我试图找出在片段之间导航时状态保存的工作原理(通过 NavHostFragment)。 假设我有片段 A 和片段 B: 片段 A 包括 ...
仪器面对启动画面 API 和导航时使用 Espresso 进行测试
如何在使用启动画面 API 和导航时执行仪器测试或 Android 测试。 正如我们所知,创建启动画面不再需要 Activity,我们只需要制作新的 Theme 即可
Jetpack Compose with Navigation:为什么要使用它?
在为 Jetpack Compose 编程时,我一直想知道为什么要使用 Navigation。仅仅提升一个状态,说 currentRoute,然后使用 when {} 块来呈现 appprop 不是更简单吗...
我已经阅读(或尝试过)所有关于这里的内容,但我无法在两个片段之间传递一个简单的整数值。 我的代码很简单 片段 1 Bundle n = new Bundle(); n.putInt("Id", 1); // 测试 ...
我正在使用新的 AndroidX 导航框架。 我有几个片段都链接在导航链中。 片段 A --> 片段 B --> 片段 C FragmentC 有一个取消按钮,它应该发送给我...
java - 错误:找不到符号。在生成的类中 SomeDirections.SomeAction
我正在实现来自不同流(具有流片段的单活动架构)的片段之间的导航,这意味着从一个嵌套图到另一个嵌套图。我正在尝试通过一个 testID argum ...
所以,我绞尽脑汁想知道为什么我不能发送参数,这应该是直截了当的,但我做不到,我得到一个 IllegalArgumentException:匹配请求的导航目的地
我想在片段上设置我的导航抽屉菜单。我不希望导航抽屉在我启动我的应用程序时出现。我希望它在我进入另一页(即不是第一页)后显示出来。但是...
MainActivityFragmentContainerView中的方案是这样的,它启动了MainFragment,里面有BottomNavigationView、ViewPager2和三个fragment,我需要点击一个按钮...
Android导航组件:如何不破坏fragmants视图切换底部标签?
我将 BottomNavBar 与 Nav 组件一起使用。选项卡切换良好,但每次我离开选项卡时,每个选项卡的片段视图都会被破坏。我无法理解这种行为的逻辑,因为在我的......
我之前在这里问过这个问题,但我发布的其中一个代码块犯了一个错误。在这里再次供您参考 我有一个使用导航主机控制器的标准底部导航选择器...
导航到动态特征模块时无法启动活动 ComponentInfo
当我尝试导航到动态模块中的活动但在导航到同一模块中的活动时效果很好时应用程序崩溃。 附: 应用程序(应用程序模块)已经带有@HiltAndroidApp
隐藏 wifi 设置标题上的导航按钮 - Android Kotlin
有没有办法隐藏或设置我自己的 onClick 功能,用于位于 Android 中 Wifi 设置标题上的后退按钮? 我已经隐藏了屏幕底部的导航行。 W...