我从谷歌查看了这个示例,它是一个适配器,它对AutoCompleteTextView
API 进行网络调用以检索自动完成建议。
它不使用AsynkTask
或线程,但在StrictMode
没有互联网连接时不发出警告并且不锁定 UI,我想知道为什么。
本身是ArrayAdapter
异步的吗?
我从谷歌查看了这个示例,它是一个适配器,它对AutoCompleteTextView
API 进行网络调用以检索自动完成建议。
它不使用AsynkTask
或线程,但在StrictMode
没有互联网连接时不发出警告并且不锁定 UI,我想知道为什么。
本身是ArrayAdapter
异步的吗?
filter(CharSequence)
通过调用或filter(CharSequence, android.widget.Filter.FilterListener)
异步执行的过滤操作。当这些方法被调用时,过滤请求会被发送到请求队列中并稍后处理。对这些方法之一的任何调用都将取消任何先前未执行的过滤请求。
到目前为止,基Adapter
类(包括)不包含任何数据获取机制。您必须通过设置数据。ArrayAdapter
add()
描述的自动完成方法使用过滤。ArrayAdapter
实现Filterable
。此特定实现在单独的线程中运行过滤方法。您可以在此处查看源代码。