gpt4 book ai didi

android - 导航组件 : Get Activity Result

转载 作者:行者123 更新时间:2023-12-04 11:48:04 25 4
gpt4 key购买 nike

我正在使用 NavController为登录/注册流程启动一个 Activity - 它有自己的导航图。
现在我想得到 LoginActivity 的结果(成功、失败)MainActiviy更新用户界面。

MainActvity (start)-> LoginActivity
MainActvity <-(result) LoginActivity end

是否可以使用导航组件来处理这种情况,或者我是否必须使用 startActivityForResult(LoginActivity...) 之类的东西?要得到 LoginActivity 的结果?

或者,还有更好的方法?我认为一个可能的解决方案可能是在 Activity 之间使用相同的 View 模型实例,但不确定这是否可能。 :-/

最佳答案

有可能:
如果 Fragment A 需要 Fragment B 的结果..
A 应该从 currentBackStackEntry 中获取 savedStateHandle,调用 getLiveData 提供一个键并观察结果。

findNavController().currentBackStackEntry?.savedStateHandle?.getLiveData<Type>("key")?.observe(
viewLifecycleOwner) {result ->
// Do something with the result.
}
B 应该从previousBackStackEntry 中获取savedStateHandle,并将结果设置为与A 中的LiveData 相同的key
findNavController().previousBackStackEntry?.savedStateHandle?.set("key", result)
来源: https://issuetracker.google.com/issues/79672220#comment55

关于android - 导航组件 : Get Activity Result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55338331/

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