2013-10-03 193 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方法中返回它。