是否值得在TextChanged事件上等待几毫秒?

时间:2010-02-14 20:39:45

标签: c# iphone android windows-mobile mobile

我在移动设备上有过滤客户操作的文本字段。 我想知道在用户键入少于3个字符时,我是否应该在启动代码之前等待几毫秒,并且只有在文本长于或等于3个字符时才执行代码。

执行的代码需要更长的时间(在更大的数据库上使用类似sql的语法),并且用户会在列表视图中看到挂起。

您怎么看?

5 个答案:

答案 0 :(得分:5)

对文本更改事件延迟SQL查询确实是一个好主意。我们在Android中使用这种技术。我们也始终确保取消以前的任何查询。例如,如果用户键入“ab”,并且我们在用户键入“a”后发布消息以启动查询,则当用户键入“b”时,我们会取消该消息。

答案 1 :(得分:1)

如果用户在启动代码时看到挂出,我就不会立即启动它。

假设查询基于用户的输入动态执行,我会等到用户键入足够的字符来处理较轻的查询并且不会使UI陷入困境。特别是使用%LIKE%语法,你必须使用更少的char,意味着更大的查询和更长的用户等待时间。

答案 2 :(得分:0)

我会尝试使用与Android本机应用程序相同的方法,因为源代码可用。 例如Contacts

检查搜索联系人时的操作。

答案 3 :(得分:0)

当焦点移动到另一个输入字段时,某些应用程序还会执行输入验证,并且在编辑时不检查输入。我不确定这是不是一件好事(我觉得有点混乱),但这绝对是解决问题的一种方法......

答案 4 :(得分:0)

在iPhone上,如果您在启动搜索后看到用户输入的延迟,您可能需要将查询操作移至后台线程,并能够按照RG提到的那样取消旧搜索。

对于前几个字符稍微延迟可能是有意义的,但之后没有延迟 - 在大约三到四之后你可能有足够的字符开始返回有意义的结果。