gpt4 book ai didi

手机屏幕关闭时Android导航架构无法导航

转载 作者:行者123 更新时间:2023-12-02 12:03:28 26 4
gpt4 key购买 nike

我的项目中有以下架构:
MainActivity布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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=".MainActivity">

<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/my_nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
app:navGraph="@navigation/nav_graph"
app:defaultNavHost="true"
/>

</android.support.constraint.ConstraintLayout>
nav_graph设计:

enter image description here
nav_graph 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" android:id="@+id/nav_graph"
app:startDestination="@id/loginFragment">

<fragment
android:id="@+id/loginFragment"
android:name="com.example.LoginFragment"
android:label="LoginFragment" >
<action
android:id="@+id/loginToContentAction"
app:destination="@id/contentFragment" />
</fragment>
<fragment
android:id="@+id/contentFragment"
android:name="com.example.ContentFragment"
android:label="ContentFragment" />
</navigation>

LoginFragment ,我有以下逻辑:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
if(presenter.isUserLogged()) {
// getNav() returns NavController from the MainActivity
getNav().navigateTo(R.id.loginToContentAction)
return
}

// init login views etc
}

如果手机屏幕打开,它可以完美运行,但是(例如)如果我通过 Android Studio 部署构建,并且手机屏幕关闭,它不会导航到 ContentFragment并留在 LoginFragment .我调试了一下情况,代码进入 NavController.navigate(R.id.loginToContentAction)并进入其中,但它实际上并没有导航。任何想法可能是什么原因?

最佳答案

我的情况完全一样。我还没有找到一个干净的解决方案,对我来说唯一的解决方法是在屏幕关闭时跳过导航。然后在“onStart”中,我执行之前跳过的导航。

关于手机屏幕关闭时Android导航架构无法导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369414/

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