【发布时间】:2011-08-10 03:27:25
【问题描述】:
问题
类似于关于 Swing (The Elegant way to handle Cyclic Event in Java?) 的问题,我正在寻找一种优雅的方法来避免两个小部件视图相互依赖的循环事件链。
更具体地说,我有两个EditText's,其中一个代表以千克为单位的重量,另一个代表以磅为单位的重量。用户应该能够在其中一个中输入文本,并在他/她键入时更新另一个。
我尝试过的
对我发现的控制器更改采取行动的唯一方法是在每个 EditText 视图上注册一个 TextWatcher。但是如果我在回调中修改另一个EditText,如何优雅地避免发生的循环事件链。
我尝试通过重载setText 对EditText 进行子类化并将它们绑定在一起而不使用TextWatcher,并让该方法修改值并调用另一个控制器的setText。但是,如果不调用setText,这不起作用,当用户从 UI 输入文本而不是以编程方式输入文本时似乎就是这种情况。
任何想法都会有所帮助,谢谢。
【问题讨论】: