android输入字段相互影响

时间:2014-10-10 21:52:27

标签: android android-edittext oncheckedchanged

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

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

它向两个方向发挥作用,但当它们都在那里时,它们互相调用,这可能导致不良行为。有没有办法改变字段的状态而不调用它的变更处理程序'或者是否有另一个处理程序可以更好地避免递归调用?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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