我有EditText
字段和Button
。
我onFocusChanged
字段附加EditText
,onClick
附加Button
。
因此,当单击按钮时,EditText
失去焦点,并执行onFocusChanged
,然后执行按钮的onClick
。问题是我需要验证EditText
值并在onFocusChanged
中进行验证,但如果验证失败,我想取消按钮的onClick
操作。
我该怎么做?
答案 0 :(得分:0)
我建议使用共享布尔值isValid,onFocusChange将其设置为您想要的任意值,并且onClick在执行任何操作之前检查该布尔值, 您还应该记得每当进行更改时都将isValid设置为false。
该解决方案的问题在于,根据调度,它可能会在onFocusChange之前执行onClick(我不确定,但以防万一),我会定义另一个布尔值isEdited,onFocusChange将它设置为false,并且无论什么时候编辑文本,都是,onClick会在检查文本是否有效之前检查文本是否正在被编辑,并且正在编辑它,它会等待该布尔值,onFocusChange也应该唤醒任何想要被编辑的人