在Kotlin中,如何检测用户是否在片段内按下返回按钮并导航回应用程序?

问题描述 投票:0回答:1

我在使用导航组件,我想检测用户何时从片段B-> A导航回来,这样我就可以在导航回片段A之前,在片段B中创建的房间数据库表中保存一个笔记(我在做一个笔记应用,我想像Google keep note应用那样保存笔记)。

kotlin fragment android-architecture-navigation android-navigation
1个回答
0
投票

这里应该是

有几个共享视图模型的替代方案。

  1. fun navigateBackWithResult(result: Bundle),如这里所解释的那样 https:/medium.comgoogle-developer-expertsusing-navigation-architecture-component-in-a-large-banking-app-ac84936a42c2。

  2. 创建一个回调。

ResultCallback.kt

interface ResultCallback : Serializable {
    fun setResult(result: Result)
}

传递这个回调作为参数(注意它必须实现Serializable,接口需要在自己的文件中声明。)

<argument android:name="callback"
                  app:argType="com.yourpackage.to.ResultCallback"/>

让framgent A实现ResultCallback,片段B由将获取参数并通过它们将数据传回,args.callback.setResult(x)

原文在此原文在此

© www.soinside.com 2019 - 2024. All rights reserved.