gpt4 book ai didi

java - 如何在EditText字段上显示错误消息之前增加延迟?

转载 作者:行者123 更新时间:2023-12-03 09:08:37 31 4
gpt4 key购买 nike

我对editText元素进行了一些简单的正则表达式验证。我遇到的问题是,如果验证失败(即使用户仍在键入),则错误会立即显示,这不是很好的UX。这是当前的代码。

TextWatcher tw = new TextWatcher() {
public void afterTextChanged(Editable s) {
String currentTime = t_timeEditText.getText().toString();
if (!validTimepattern.matcher(currentTime).matches()){
timeEditText.setError("Not a valid time");
}
}
}

我认为最好的解决方案是等到焦点移出editText元素,然后再运行上述验证。或者,我们可以在上一次输入后等待X毫秒,然后再运行验证,也可以在其中添加一些讨厌的硬编码延迟。

有什么建议?

最佳答案

您可以使用Handler来完成。根据您的要求更改TIME_DELAY。在类(class)级别中定义时间延迟(1000表示1秒)。我已根据您的要求修改了代码。在此我增加了2秒的延迟。你可以去。

val TIME_DELAY : Int = 2000
if (!validTimepattern.matcher(currentTime).matches()){

Handler().postDelayed(object : Runnable{
override fun run() {
timeEditText.setError(“Not a valid time”);
}
}, TIME_DELAY )
}

关于java - 如何在EditText字段上显示错误消息之前增加延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57324687/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com