0

在 Android 中,我在同一个视图中有多个表单小部件,我想让它们相互影响。现在我有一个 EditText 字段,您可以在其中输入一个整数,并且我希望该值显示在一系列 ToggleButtons 中(即 EditText 字段的二进制值显示为选定的按钮)。我希望这两个字段相互影响,因此单击按钮会更改文本,更改文本会更改按钮。

现在我正在使用该afterTextChanged()方法来捕获更新的文本并更改按钮。我正在使用该onCheckedChanged()方法来捕捉更新的按钮点击并更改文本。

它可以朝任一方向工作,但是当它们都在那里时,它们会互相呼叫,这可能会导致不良行为。有没有办法在不调用其“更改处理程序”的情况下更改字段的状态,或者是否有另一个处理程序可以更好地避免递归调用?

4

2 回答 2

0

使用setText()EditText 的方法来设置当用户更改切换按钮值时的值。

于 2014-10-10T22:02:25.630 回答
0

对此的解决方法是使用状态变量来添加“信号量”。在事件处理程序中,我会检查是否从另一个处理程序调用了处理程序,如果是,则不重新更新原始字段。

于 2014-10-11T15:25:52.813 回答