Dan*_*son 7 android android-fragments android-jetpack android-architecture-navigation
使用 Android 的Navigation Component,我有 3 个由单个 Activity 托管的片段。启动片段是一个启动屏幕片段 (A),如果用户未登录,我启动登录片段 (B),如果用户已登录,我启动列表片段 (C)。
因此发射路线是 A->B->C 或 A->C。
当您降落在 B 或 C 上时,按返回键应该会终止该应用程序。不过,NavigationController 却备份到 A(我认为,AonActivityCreated肯定会在崩溃时被调用,这可能与此无关)。
图形编辑器中 A -> B 的弹出行为似乎允许我弹出到不同的片段,但似乎没有一个选项可以直接终止应用程序。
我真的需要覆盖onBackPressed这种行为并终止该活动吗?因为如果没有 NavigationController,这会更容易,所以通常我会在开始新活动时完成一项活动。
小智 3
在图形编辑器中打开文本选项卡以查看 xml 代码,找到您的两个操作 A -> B 和 A -> C 并放置标签:app:clearTask="true",当用户按后退按钮时,它应该会杀死您的应用程序。
例子:
<fragment
android:id="@+id/launcher_fragment"
android:name="com.example.LauncherFragment"
android:label="launcher_fragment">
<action
android:id="@+id/action_launcher_to_login"
app:destination="@id/login_fragment"
app:clearTask="true"/>
<action
android:id="@+id/action_launcher_to_list"
app:destination="@id/list_fragment"
app:clearTask="true" />
</fragment>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7145 次 |
| 最近记录: |