如何禁用EditText上的addTextChangedListener

场景:

我有四个EditText,用于输入在其上进行算术运算的值。

在手中
%-
扣除额=


在手里

扣除金额为Editable,并应用addTextChangedListener

金额:不可编辑

在手里

扣除额相互影响。

影响:

如果在手

 变化::扣除额

问题领域:

如果扣除额根据手中的变化而变化::%

但是,因为我已经在%上应用了addTextChangedListener,它给出了伪复合动作。

最佳答案

这样的事情怎么样:

    ...
    boolean changeDeductedAmount = true;
    ...
    //in InHand textChangeListener
    changeDeductedAmount = false;
    editTextDeductedAmount.setText(value);

    //in DeductedAmount textChangeListener
    if (changeDeductedAmount){
       //your code here if user edited text
    } else {
       //edit text was edited by your code, reset flag
       changeDeductedAmount = true;
    }

然后对每对可以更改扣除额的编辑文本执行此操作

10-07 18:47