Android API之android.widget.Filterable


 

android.widget.Filterable

定義了一種可過濾的行為。Filterable接口通常有android.widget.Adapter來實現。接口Filterable中有個抽象方法getFilter()需要實現。

Filter android.widget.Filterable.getFilter()

返回一個filter對象,用來過濾出符合某種pattern的數據。getFilter()方法通常在android.widget.Adapter類中實現。

 

android.widget.Filter
通常是實現Filterable接口來創建Filter對象。方法filter(CharSequence)、filter(CharSequence, FilterListener)實現過濾操作是異步進行的。將一個過濾請求放到請求隊列中,在稍候處理。取消上次沒有執行的過濾請求。創建一個Filter對象,需要至少實現兩個抽象方法:

protected FilterResults performFiltering(CharSequence constraint)

protected void publishResults(CharSequence constraint, FilterResults results)

方法一:
protected FilterResults performFiltering(CharSequence constraint)

在worker線程中調用,依據constraint來過濾。返回結果,一個FilterResults對象,將通過方法publishResults(Charsequence, FilterResults)在UI線程中發表。

當參數(constraint)為null,恢復為初始的數據。

方法二:

protected void publishResults(CharSequence constraint, FilterResults results)

在UI線程中調用。發表過濾操作的結果顯示到UI中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM