我一直在實現一個類,該類擴展了ArrayAdapter並實現了Filterable。 過濾部分(在執行過濾方法()中)似乎正常,它會像預期的那樣填充FilterResults對象。 但後來我覺得我不是這樣做的權利如何公佈結果,ATM我:自定義過濾器Android不會告訴我結果
但這根本不會「填充」我的清單與接收到的數據。 所以現在我的問題是如何填充我的列表與收到的結果?我必須以編程方式執行此操作嗎?
我一直在實現一個類,該類擴展了ArrayAdapter並實現了Filterable。 過濾部分(在執行過濾方法()中)似乎正常,它會像預期的那樣填充FilterResults對象。 但後來我覺得我不是這樣做的權利如何公佈結果,ATM我:自定義過濾器Android不會告訴我結果
但這根本不會「填充」我的清單與接收到的數據。 所以現在我的問題是如何填充我的列表與收到的結果?我必須以編程方式執行此操作嗎?
其實我得到了它開發的下一個工作代碼:
subItems = (Vector<serverContentElement>)results.values;
notifyDataSetChanged();
clear();
for(int i = 0; i < subItems.size(); i++)
add(subItems.get(i));
對我來說,這一直是隻有這樣,才能得到它的工作...只是一種恥辱,有沒有很簡潔的例子上網...
我有過同樣的問題。 嘗試更加aggresive:
protected void publishResults(CharSequence prefix, FilterResults results)
{
// NOTE: this function is *always* called from the UI thread.
subItems.clear();
subItems.addAll((Vector<T>)results.values);
notifyDataSetChanged();
}
很顯然,我認爲你的「結果」的對象包含了正確的數據
這種方法解決了我的問題
還有一個問題:它實際上是簡單地用結果元素替換現有的List元素嗎?所以我不必重做所有getView()方法的東西吧?因爲我沒有爲我的列表使用簡單的標準元素! – TiGer 2010-06-08 07:03:14