Android:onClick和OnFocusChange交互

时间:2016-06-24 10:47:01

标签: android validation onclick

我有EditText字段和Button。 我onFocusChanged字段附加EditTextonClick附加Button

因此,当单击按钮时,EditText失去焦点,并执行onFocusChanged,然后执行按钮的onClick。问题是我需要验证EditText值并在onFocusChanged中进行验证,但如果验证失败,我想取消按钮的onClick操作。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我建议使用共享布尔值isValid,onFocusChange将其设置为您想要的任意值,并且onClick在执行任何操作之前检查该布尔值, 您还应该记得每当进行更改时都将isValid设置为false。

该解决方案的问题在于,根据调度,它可能会在onFocusChange之前执行onClick(我不确定,但以防万一),我会定义另一个布尔值isEdited,onFocusChange将它设置为false,并且无论什么时候编辑文本,都是,onClick会在检查文本是否有效之前检查文本是否正在被编辑,并且正在编辑它,它会等待该布尔值,onFocusChange也应该唤醒任何想要被编辑的人