对于一个简单的Fragment A -> Fragment B
图表,我有两个问题:
我可以
LiveData
使用安全参数通过吗?如果没有,我该如何收听Fragment B
from的值变化Fragment A
?我可以使用安全 args传递 lambda 变量(函数) (充当回调侦听器)吗?
对于一个简单的Fragment A -> Fragment B
图表,我有两个问题:
我可以LiveData
使用安全参数通过吗?如果没有,我该如何收听Fragment B
from的值变化Fragment A
?
我可以使用安全 args传递 lambda 变量(函数) (充当回调侦听器)吗?
你不能使用安全的参数传递 LiveData 但你可以使用Fragment Result API来监听其他 Fragment 中的值变化
// in fragment A
setFragmentResultListener("requestKey") { requestKey, bundle ->
// read bundle here
}
// in fragment B
setFragmentResult("requestKey", bundle)
它可以与您的 SafeArgs 类结合使用:
setFragmentResultListener("requestKey") { requestKey, bundle ->
val args = MyFragmentArgs.fromBundle(bundle)
}
// Fragment B
setFragmentResult("requestKey", MyFragmentArgs(...).toBundle())