android 当用户退出compose中的textField时,如何运行验证?

doinxwow  于 2023-01-24  发布在  Android
关注(0)|答案(2)|浏览(126)

我有一个函数可以检查我的textField是否有问题
fun有错误(文本字段标签:字符串):布尔值{}
我想让这个函数只在用户输入完文本后运行,当用户退出文本字段时,我们假设他们已经完成输入,我在该字段上运行hasError()
以下是对我不起作用的地方
瓦尔focusManager =本地焦点管理器.当前焦点管理器.移动焦点(焦点方向.下一个)
FocusDirection.Next仅在您确定合适时移动焦点,但在用户决定从一个字段移动到另一个字段时不监听
Modifier.onFocusChanged{}这不起作用,因为它在页面加载时触发,并调用hasError(),使我的所有textField处于错误状态
我想在用户退出文本字段时触发hasError

t0ybt7op

t0ybt7op1#

您可以简单地收听编辑文本更改值。当文本更改和文本完成时,将调用onValueChange。

e4yzc0pl

e4yzc0pl2#

YourEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
  if (!hasFocus) { {
      //User leaved your edit text
  }
}
});

相关问题