带有改造的自动完成文本视图

2024-01-04

我正在使用一个实现AutoCompleteTextView其中建议是从 webapi 获取并根据用户输入显示的。我正在使用改造客户端进行网络连接。我有两个疑问。

1)我不希望为每个键入的字符发送请求。仅当用户按住 5 秒时才发送请求。我怎样才能在我的AutoCompleteTextView执行。

2)我使用 observable 进行响应,如果客户端相继发送两个请求,那么 observable 如何处理响应,以便仅在客户端处理最后一个响应。

我现在无法发布我的代码,但是如果出现问题我会发布它。


为了等待发送请求,您可以使用 TextWatcher 的 onTextChanged 方法。

每次更改文本时,您都可以使用系统方法 System.currentTimeMillis 更新变量,例如 timePressed。更新后,您可以检查当前系统时间距上次更改文本是否超过一定时间(例如5000ms)。如果是这样,请调用发送 API 请求的方法。

请参阅以下资源以获得更多指导:

文本观察器 onTextChanged https://developer.android.com/reference/android/text/TextWatcher.html#onTextChanged(java.lang.CharSequence,%20int,%20int,%20int)

当前时间毫秒 https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis()

类似的问题在这里 https://stackoverflow.com/questions/20761113/autocompletion-delay

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有改造的自动完成文本视图 的相关文章

随机推荐