2013-10-03 150 views
4

我已经看到过滤方法文档,它显示调用过滤器会取消所有先前未执行的过滤请求,并发布稍后将要执行的新过滤请求。在数组列表中过滤可过滤不取消之前的过滤器

但我实际收到的回调是一些.The日志如何different.In我实现它没有取消之前的过滤请求,并要求最近搜索条件后,先前的搜索条件的publishResults()方法如下:

10-03 17:49:41.781: E/TAG(2150): onTextChanged first Criteria 
    10-03 17:49:41.781: E/TAG(2150): performFiltering first Criteria 
    10-03 17:49:41.961: E/TAG(2150): onTextChanged second Criteria 
    10-03 17:49:41.961: E/TAG(2150): performFiltering second Criteria 
    10-03 17:49:42.195: E/TAG(2150): publishResults second Criteria 
    10-03 17:49:42.219: E/TAG(2150): publishResults first Criteria  
+0

您需要跟踪初始列表并对其执行第二次过滤。 – njzk2

+0

@ njzk2你能否详细说明一下。 –

+0

您是否使用过滤器的相同实例? – pskink

回答

0

你必须只使用一个Filter单个实例在您的适配器,以便能够取消任何以前的非执行过滤请求。每调用一次getFilter,都不要创建新的Filter实例。

例如,在适配器初始化时初始化它,并从getFilter方法中返回它。