【问题标题】:android input fields affect each otherandroid输入字段相互影响
【发布时间】:2014-10-10 21:52:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-edittext oncheckedchanged


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-17
        • 1970-01-01
        • 2012-04-20
        相关资源
        最近更新 更多