Android:循环事件链,如何避免? 问题

Android:循环事件链,如何避免? 问题,android,android-widget,Android,Android Widget,类似于关于Swing()的问题,我正在寻找一种优雅的方法来避免两个小部件视图相互依赖的循环事件链 更具体地说,我有两个EditText的,其中一个表示以千克为单位的重量,另一个表示以磅为单位的重量。用户应该能够在其中一个中输入文本,并在键入时更新另一个 我试过的 对我发现的控制器中的更改采取行动的唯一方法是在每个EditText视图上注册TextWatcher。但是,如果我修改回调中的另一个EditText,如何优雅地避免发生循环事件链呢 我尝试对EditText进行子分类,通过重载setTex

类似于关于Swing()的问题,我正在寻找一种优雅的方法来避免两个小部件视图相互依赖的循环事件链

更具体地说,我有两个
EditText的
,其中一个表示以千克为单位的重量,另一个表示以磅为单位的重量。用户应该能够在其中一个中输入文本,并在键入时更新另一个

我试过的 对我发现的控制器中的更改采取行动的唯一方法是在每个
EditText
视图上注册
TextWatcher
。但是,如果我修改回调中的另一个
EditText
,如何优雅地避免发生循环事件链呢

我尝试对
EditText
进行子分类,通过重载
setText
将它们绑定在一起,而不使用
TextWatcher
,并让该方法修改值并调用另一个控制器的
setText
。但如果不调用
setText
,这是行不通的,当用户从UI输入文本而不是以编程方式输入文本时,情况似乎就是这样


任何想法都会很有帮助,谢谢。

当控制器处于聚焦和非聚焦状态时,我添加和删除了
TextWatcher的
。这有一个缺点,即当以编程方式设置控制器的文本时,不使用相同的镜像代码(除非我也以编程方式设置焦点,这不是一个很好的解决方案,IMO)

它工作得很好,但我仍然认为有一个更干净的解决方案