2015-07-28 45 views
0

我有一個適配器,它擴展了ParseQueryAdapter並實現了Filterable。Android - ParseQueryAdapter實現可過濾

我能夠檢索FilterResults中的結果,但我真的不知道如何發佈它們。我有這個類的一個對象,我正在使用它作爲我的listview的適配器。我如何將結果發佈到適配器中?我沒有這個類的任何屬性。我應該做一個嗎?

private class LocationAdapter extends ParseQueryAdapter<LocationPost> implements Filterable { 

    public LocationAdapter(Context context, 
          ParseQueryAdapter.QueryFactory<LocationPost> queryFactory) { 
     super(context, queryFactory); 
    } 

...

+0

我有同樣的問題。我需要實現Filterable並更新ParseQueryAdapter類中的List 對象,但它是一個私有字段,所以我不確定如何去實現它。我在GitHub上查找ParseQueryAdapter類,但找不到那個。也許他們不再支持ParseQueryAdapter了?如果他們是,我想添加過濾到他們的類 – Ero

+0

我有同樣的問題。我喜歡ParseQueryAdapter的功能,我想保留它。讓我知道你是否找到解決方案。 – abeikverdi

回答

0

您可以覆蓋以下方法並執行你的任務

@Override 
public Filter getFilter() { 
    return new Filter() { 
     @Override 
     protected void publishResults(CharSequence constraint, FilterResults results) { 
      // Write your logic for PUBLISHING RESULTS and notify your dataset for change 
     } 

     @Override 
     protected FilterResults performFiltering(CharSequence constraint) { 
      // Write your logic here to PERFORM FILTERING and return filtered result 
     } 
    }; 
} 
+0

我已經這樣做了,正如我在問題中提到的,我能夠在publishResults中獲得結果,但我不知道如何更新適配器和列表。我怎樣才能在那裏通知我的數據集?我叫notifydatasetchanged(),它什麼都不做。我需要以某種方式填充適配器的結果。 – abeikverdi

+0

可以請你參考這個例子:http://stackoverflow.com/a/8678198/1686269 –

+0

我使用ParseQueryAdapter解析提供。你提供的例子只是一個普通的列表視圖。 – abeikverdi