在android中让两个livedata值互相影响

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

我有两个实时数据。一个用于美元,另一个用于欧元。我想更改一个值来更改另一个值,反之亦然。
然而,只要他们都观察并改变彼此的价值,这似乎是不可能的,因为使这个过程成为无限循环,导致应用程序崩溃。
假设我有 Livedata A 和 Livedata B。 如果我改变 A 的值,A 的观察者会改变 B 的值,然后 B 的观察者会再次改变 A 的值,依此类推。
正是我想要的。一个值会改变另一个值,但不会进入无限循环。我想通过 Livedata 来实现这一目标。对此有什么建议吗?或任何其他不同的方法也受欢迎。

提前致谢。

android android-livedata
1个回答
0
投票

每种货币可以有两个变量。

  • LiveData 美元和兑换美元
  • LiveData 欧元和兑换欧元

兑换的美元观察LiveData Euro,而兑换的欧元观察LiveData USD。

美元和欧元的LiveData均用于用户输入。如果用户在 EditText 上输入一个值,它将被视为相应 LiveData(美元或欧元)的输入。

交换的值显示为 EditText 的提示文本。

因此,LiveData 及其观察者可以是单向过程。

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