Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在TextChanged事件上等待几毫秒是否值得?_C#_Iphone_Android_Windows Mobile_Mobile - Fatal编程技术网

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

C# 在TextChanged事件上等待几毫秒是否值得?,c#,iphone,android,windows-mobile,mobile,C#,Iphone,Android,Windows Mobile,Mobile,我有一个文本字段,用于过滤移动设备上的客户操作。 我想知道当用户输入少于3个字符时,我是否应该在启动代码之前等待几毫秒,并且仅当文本长度大于或等于3个字符时才执行代码 执行的代码需要更长的时间(大型数据库上类似sql的语法),用户可以在listview上看到挂起的内容 你觉得怎么样?如果用户在启动代码时看到挂起的内容,我不会立即启动它 假设查询是根据用户的输入动态执行的,我会等到用户输入足够的字符来处理一个更轻松的查询,并且不会使UI陷入困境。尤其是使用%LIKE%语法,您必须使用的字符越少,意

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

执行的代码需要更长的时间(大型数据库上类似sql的语法),用户可以在listview上看到挂起的内容

你觉得怎么样?

如果用户在启动代码时看到挂起的内容,我不会立即启动它


假设查询是根据用户的输入动态执行的,我会等到用户输入足够的字符来处理一个更轻松的查询,并且不会使UI陷入困境。尤其是使用
%LIKE%
语法,您必须使用的字符越少,意味着用户的查询越大,等待时间越长。

我会尝试使用与android本机应用程序相同的方法,因为源代码是可用的。 比如说


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

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

延迟对文本更改事件的SQL查询确实是个好主意。我们在整个Android系统中都使用这种技术。我们还始终确保取消以前的任何查询。例如,如果用户键入“ab”,我们在用户键入“a”后发布一条消息以开始查询,我们会在用户键入“b”时取消该消息。如果在iPhone上,用户在启动搜索后键入时出现延迟,您可能需要将查询操作移到后台线程,能够像RG提到的那样取消旧的搜索


在开始的几个字符中稍微延迟可能是有意义的,但之后就没有延迟了——大约三到四个字符之后,您可能有足够的字符开始返回有意义的结果。

我不明白它们是做什么的,对我来说这看起来很复杂。你能用语言解释吗?我没有检查他们做什么。我刚刚告诉过你在哪里可以找到联系人。联系人在另一个线程上执行查询。它在获得第一个输入后立即启动查询,并尽可能频繁地运行查询,直到找到用户迄今为止键入的内容为止。这使得它能够响应单个字母,以及比查询速度更快的一批字母。